Contextual help in Effects menu

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@239 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2008-10-12 19:09:29 +00:00
parent 1af06aec53
commit 74d0b87233
8 changed files with 137 additions and 44 deletions

View File

@ -13,11 +13,11 @@ special.o: special.c const.h struct.h global.h loadsave.h graph.h \
moteur.h moteur.h
boutons.o: boutons.c const.h struct.h global.h loadsave.h divers.h \ boutons.o: boutons.c const.h struct.h global.h loadsave.h divers.h \
graph.h moteur.h readline.h files.h init.h boutons.h operatio.h pages.h \ graph.h moteur.h readline.h files.h init.h boutons.h operatio.h pages.h \
erreurs.h readini.h saveini.h shade.h io.h erreurs.h readini.h saveini.h shade.h io.h aide.h
palette.o: palette.c const.h struct.h global.h loadsave.h divers.h \ palette.o: palette.c const.h struct.h global.h loadsave.h divers.h \
graph.h moteur.h readline.h boutons.h pages.h graph.h moteur.h readline.h boutons.h pages.h
aide.o: aide.c const.h struct.h global.h loadsave.h divers.h graph.h \ aide.o: aide.c const.h struct.h global.h loadsave.h divers.h graph.h \
moteur.h tables_aide.h moteur.h tables_aide.h aide.h
operatio.o: operatio.c const.h struct.h global.h loadsave.h divers.h \ operatio.o: operatio.c const.h struct.h global.h loadsave.h divers.h \
moteur.h graph.h operatio.h boutons.h pages.h erreurs.h moteur.h graph.h operatio.h boutons.h pages.h erreurs.h
pages.o: pages.c global.h struct.h const.h loadsave.h pages.h graph.h \ pages.o: pages.c global.h struct.h const.h loadsave.h pages.h graph.h \

32
aide.c
View File

@ -28,6 +28,7 @@
#include "graph.h" #include "graph.h"
#include "moteur.h" #include "moteur.h"
#include "tables_aide.h" #include "tables_aide.h"
#include "aide.h"
#include <string.h> #include <string.h>
@ -150,8 +151,6 @@ void Scroller_aide(void)
void Bouton_Aide(void) void Bouton_Aide(void)
{ {
short Bouton_clicke;
short Nb_lignes;
short Numero_bouton; short Numero_bouton;
// Aide contextuelle // Aide contextuelle
@ -160,12 +159,37 @@ void Bouton_Aide(void)
Numero_bouton = Numero_bouton_sous_souris(); Numero_bouton = Numero_bouton_sous_souris();
if (Numero_bouton != -1) if (Numero_bouton != -1)
{ {
Section_d_aide_en_cours = 4 + Numero_bouton; Fenetre_aide(Numero_bouton, NULL);
return;
}
}
Fenetre_aide(-1, NULL);
}
// Ouvre l'ecran d'aide. Passer -1 pour la section par défaut (ou derniere,)
// Ou un nombre de l'enumération NUMEROS_DE_BOUTONS pour l'aide contextuelle.
void Fenetre_aide(int Section, const char *Sous_section)
{
short Bouton_clicke;
short Nb_lignes;
if (Section!=-1)
{
Section_d_aide_en_cours = 4 + Section;
Position_d_aide_en_cours = 0; Position_d_aide_en_cours = 0;
} }
Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes;
if (Section!=-1 && Sous_section!=NULL)
{
int Indice=0;
for (Indice=0; Indice<Nb_lignes; Indice++)
if (Table_d_aide[Section_d_aide_en_cours].Table_aide[Indice][0] == 'T' &&
!strcmp(Table_d_aide[Section_d_aide_en_cours].Table_aide[Indice]+1, Sous_section))
{
Position_d_aide_en_cours = Indice;
break;
}
} }
Nb_lignes=Table_d_aide[Section_d_aide_en_cours].Nombre_de_lignes;
Ouvrir_fenetre(310,175,"Help / About..."); Ouvrir_fenetre(310,175,"Help / About...");

1
aide.h
View File

@ -20,3 +20,4 @@
*/ */
void Bouton_Aide(void); void Bouton_Aide(void);
void Bouton_Stats(void); void Bouton_Stats(void);
void Fenetre_aide(int, const char *);

View File

@ -45,6 +45,7 @@
#include "saveini.h" #include "saveini.h"
#include "shade.h" #include "shade.h"
#include "io.h" #include "io.h"
#include "aide.h"
#ifdef __WATCOMC__ #ifdef __WATCOMC__
#include <windows.h> #include <windows.h>
@ -5343,6 +5344,46 @@ void Bouton_Effets(void)
if (Touche==SDLK_ESCAPE) if (Touche==SDLK_ESCAPE)
Bouton_clicke=11; Bouton_clicke=11;
else if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
{
// Aide contextuelle
switch(Fenetre_Numero_bouton_clicke())
{
case 1:
Fenetre_aide(BOUTON_EFFETS, "SHADE");
break;
case 2:
Fenetre_aide(BOUTON_EFFETS, "QUICK SHADE");
break;
case 3:
Fenetre_aide(BOUTON_EFFETS, "TRANSPARENCY");
break;
case 4:
Fenetre_aide(BOUTON_EFFETS, "SMOOTH");
break;
case 5:
Fenetre_aide(BOUTON_EFFETS, "SMEAR");
break;
case 6:
Fenetre_aide(BOUTON_EFFETS, "STENCIL");
break;
case 7:
Fenetre_aide(BOUTON_EFFETS, "MASK");
break;
case 8:
Fenetre_aide(BOUTON_EFFETS, "SIEVE");
break;
case 9:
Fenetre_aide(BOUTON_EFFETS, "GRID");
break;
case 10:
Fenetre_aide(BOUTON_EFFETS, "TILING");
break;
default:
Fenetre_aide(BOUTON_EFFETS, NULL);
}
continue;
}
switch (Bouton_clicke) switch (Bouton_clicke)
{ {

View File

@ -327,24 +327,44 @@ GLOBAL word Menu_Taille_couleur; // Taille d'une couleur de la palette du menu
// Données sur la fenêtre de menu // Données sur la fenêtre de menu
GLOBAL byte Fenetre; GLOBAL byte Fenetre; // Nombre de fenetres empilées. 0 si pas de fenetre ouverte.
GLOBAL word Fenetre_Pos_X; // Position du bord gauche de la fenêtre dans l'écran
GLOBAL word Fenetre_Pos_Y; // Position du bord haut de la fenêtre dans l'écran
GLOBAL word Fenetre_Largeur; // Largeur de la fenêtre
GLOBAL word Fenetre_Hauteur; // Hauteur de la fenêtre
GLOBAL byte Menu_visible_avant_fenetre; // Le menu était visible avant d'ouvir une fenêtre GLOBAL byte Menu_visible_avant_fenetre; // Le menu était visible avant d'ouvir une fenêtre
GLOBAL word Menu_Ordonnee_avant_fenetre; // Ordonnée du menu avant d'ouvrir une fenêtre GLOBAL word Menu_Ordonnee_avant_fenetre; // Ordonnée du menu avant d'ouvrir une fenêtre
GLOBAL byte Cacher_pinceau_avant_fenetre;// Le pinceau étatit déjà caché avant l'ouverture de la fenetre? GLOBAL byte Cacher_pinceau_avant_fenetre;// Le pinceau étatit déjà caché avant l'ouverture de la fenetre?
GLOBAL word Nb_boutons_fenetre; GLOBAL word Pile_Fenetre_Pos_X[8]; // Position du bord gauche de la fenêtre dans l'écran
GLOBAL struct Fenetre_Bouton_normal * Fenetre_Liste_boutons_normal; #define Fenetre_Pos_X Pile_Fenetre_Pos_X[Fenetre-1]
GLOBAL struct Fenetre_Bouton_palette * Fenetre_Liste_boutons_palette;
GLOBAL struct Fenetre_Bouton_scroller * Fenetre_Liste_boutons_scroller; GLOBAL word Pile_Fenetre_Pos_Y[8]; // Position du bord haut de la fenêtre dans l'écran
GLOBAL struct Fenetre_Bouton_special * Fenetre_Liste_boutons_special; #define Fenetre_Pos_Y Pile_Fenetre_Pos_Y[Fenetre-1]
GLOBAL int Fenetre_Attribut1;
GLOBAL int Fenetre_Attribut2; GLOBAL word Pile_Fenetre_Largeur[8]; // Largeur de la fenêtre
#define Fenetre_Largeur Pile_Fenetre_Largeur[Fenetre-1]
GLOBAL word Pile_Fenetre_Hauteur[8]; // Hauteur de la fenêtre
#define Fenetre_Hauteur Pile_Fenetre_Hauteur[Fenetre-1]
GLOBAL word Pile_Nb_boutons_fenetre[8];
#define Nb_boutons_fenetre Pile_Nb_boutons_fenetre[Fenetre-1]
GLOBAL struct Fenetre_Bouton_normal * Pile_Fenetre_Liste_boutons_normal[8];
#define Fenetre_Liste_boutons_normal Pile_Fenetre_Liste_boutons_normal[Fenetre-1]
GLOBAL struct Fenetre_Bouton_palette * Pile_Fenetre_Liste_boutons_palette[8];
#define Fenetre_Liste_boutons_palette Pile_Fenetre_Liste_boutons_palette[Fenetre-1]
GLOBAL struct Fenetre_Bouton_scroller * Pile_Fenetre_Liste_boutons_scroller[8];
#define Fenetre_Liste_boutons_scroller Pile_Fenetre_Liste_boutons_scroller[Fenetre-1]
GLOBAL struct Fenetre_Bouton_special * Pile_Fenetre_Liste_boutons_special[8];
#define Fenetre_Liste_boutons_special Pile_Fenetre_Liste_boutons_special[Fenetre-1]
GLOBAL int Pile_Fenetre_Attribut1[8];
#define Fenetre_Attribut1 Pile_Fenetre_Attribut1[Fenetre-1]
GLOBAL int Pile_Fenetre_Attribut2[8];
#define Fenetre_Attribut2 Pile_Fenetre_Attribut2[Fenetre-1]

View File

@ -1026,6 +1026,8 @@ void Ouvrir_fenetre(word Largeur,word Hauteur, char * Titre)
Print_dans_fenetre((Largeur-(strlen(Titre)<<3))>>1,3,Titre,CM_Noir,CM_Clair); Print_dans_fenetre((Largeur-(strlen(Titre)<<3))>>1,3,Titre,CM_Noir,CM_Clair);
if (Fenetre == 1)
{
Menu_visible_avant_fenetre=Menu_visible; Menu_visible_avant_fenetre=Menu_visible;
Menu_visible=0; Menu_visible=0;
Menu_Ordonnee_avant_fenetre=Menu_Ordonnee; Menu_Ordonnee_avant_fenetre=Menu_Ordonnee;
@ -1034,6 +1036,7 @@ void Ouvrir_fenetre(word Largeur,word Hauteur, char * Titre)
Forme_curseur=FORME_CURSEUR_FLECHE; Forme_curseur=FORME_CURSEUR_FLECHE;
Cacher_pinceau_avant_fenetre=Cacher_pinceau; Cacher_pinceau_avant_fenetre=Cacher_pinceau;
Cacher_pinceau=1; Cacher_pinceau=1;
}
// Initialisation des listes de boutons de la fenêtre // Initialisation des listes de boutons de la fenêtre
Fenetre_Liste_boutons_normal =NULL; Fenetre_Liste_boutons_normal =NULL;
@ -1059,8 +1062,6 @@ void Fermer_fenetre(void)
Effacer_curseur(); Effacer_curseur();
Cacher_pinceau=Cacher_pinceau_avant_fenetre;
while (Fenetre_Liste_boutons_normal) while (Fenetre_Liste_boutons_normal)
{ {
Temp1=Fenetre_Liste_boutons_normal->Next; Temp1=Fenetre_Liste_boutons_normal->Next;
@ -1086,7 +1087,11 @@ void Fermer_fenetre(void)
Fenetre_Liste_boutons_special=Temp4; Fenetre_Liste_boutons_special=Temp4;
} }
Fenetre--; if (Fenetre == 1)
{
Cacher_pinceau=Cacher_pinceau_avant_fenetre;
Curseur_dans_menu_precedent=0; // il faut rafficher le libellé dans la barre Curseur_dans_menu_precedent=0; // il faut rafficher le libellé dans la barre
// d'outils si le curseur est sur une icône. // d'outils si le curseur est sur une icône.
@ -1095,9 +1100,10 @@ void Fermer_fenetre(void)
Menu_Ordonnee=Menu_Ordonnee_avant_fenetre; Menu_Ordonnee=Menu_Ordonnee_avant_fenetre;
Menu_visible=Menu_visible_avant_fenetre; Menu_visible=Menu_visible_avant_fenetre;
Forme_curseur=Forme_curseur_avant_fenetre; Forme_curseur=Forme_curseur_avant_fenetre;
}
// Restore de ce que la fenêtre cachait // Restore de ce que la fenêtre cachait
Restaure_fond(Fond_fenetre[Fenetre], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur); Restaure_fond(Fond_fenetre[Fenetre-1], Fenetre_Pos_X, Fenetre_Pos_Y, Fenetre_Largeur, Fenetre_Hauteur);
SDL_UpdateRect(Ecran_SDL,Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y); SDL_UpdateRect(Ecran_SDL,Fenetre_Pos_X,Fenetre_Pos_Y,Fenetre_Largeur*Menu_Facteur_X,Fenetre_Hauteur*Menu_Facteur_Y);
//Afficher_ecran(); //Afficher_ecran();
@ -1106,8 +1112,8 @@ void Fermer_fenetre(void)
Touche=0; Touche=0;
Mouse_K=0; Mouse_K=0;
// On (re)passe dans le clavier américain Fenetre--;
Clavier_americain();
} }

View File

@ -64,3 +64,4 @@ void Recuperer_couleur_derriere_fenetre(byte * Couleur, byte * Click);
short Fenetre_Bouton_clicke(void); short Fenetre_Bouton_clicke(void);
int Numero_bouton_sous_souris(void); int Numero_bouton_sous_souris(void);
short Fenetre_Numero_bouton_clicke(void);

View File

@ -1293,7 +1293,7 @@ static const char * TableAideEffets[] =
AIDE_TEXTE("white pixels.") AIDE_TEXTE("white pixels.")
AIDE_TEXTE("") AIDE_TEXTE("")
AIDE_TEXTE("") AIDE_TEXTE("")
AIDE_TITRE("TRANSPARENT") AIDE_TITRE("TRANSPARENCY")
AIDE_TEXTE(" This allows to mix the color(s) of the") AIDE_TEXTE(" This allows to mix the color(s) of the")
AIDE_TEXTE("paintbrush with the colors of the picture.") AIDE_TEXTE("paintbrush with the colors of the picture.")
AIDE_TEXTE("It's used to make transparency effects like") AIDE_TEXTE("It's used to make transparency effects like")