Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/03/2008, à 00:18

wa.dumortier

Faire un assistant en GTK+ ?

Bonjour!

Je crée un assistant (en programme).
Voici le programme en image: http://hostimg.free.fr/files/hrc2capture.png

En fait le programme est divisé en 4 HBoxes dans 1 Hbox.
HBox1: l'image
HBox2: Le contenu change en fonction de létape de l'assistant
HBox3: La barre de progression
HBox4: Les bouton

Donc quand un utilisateur clicke sur le bouton "Suivant", je voudrai que le contenu change dans la HBox2.

Chaque étape de l'assistant est dans un fichier source (wizardX.c)

Je pensais à faire une boucle qui lit une variable globale et qui inclus en fonction de l'étape le fichier correspondant:

...
	while(CurrentWizard < 2)
	{
		if(CurrentWizard == 1)
		{
			#include "wizard01.c"
			CurrentWizard++;
		}
		else if(CurrentWizard == 2)
		{
			#include "wizard02a.c"
			CurrentWizard++;	
		}
	}
		
	#include "signals.c"	
	
	/* Show main window */
	gtk_widget_show_all(pMainWindow);

	/* Main */
	gtk_main();
	return EXIT_SUCCESS;

Alors le programme affiche bien le premier assistant, mais je ne sais pas comment coder la suite...

Quelqu'un peut m'aider?
Voici les 2 fichiers source importants:

main:

/*
 *      main.c
 *      
 *      Copyright 2008 warren <wardubmc@gmail.com>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

#include <stdlib.h>

#include <gtk/gtk.h>
#include <glib/gi18n.h>

/* Set first wizard */
int CurrentWizard = 1;

#include "functions.h"

int main(int argc, char **argv)
{
	/* Load gtk */
	gtk_init(&argc, &argv);
	
	/* Get temp directory */
	const gchar *TmpDirectory = g_get_tmp_dir();
	
	/* Create main window */
	GtkWidget *pMainWindow;
	pMainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(pMainWindow), 0, 0);
	gtk_window_set_title(GTK_WINDOW(pMainWindow), "ET Open Config Generator");
	gtk_window_set_resizable(GTK_WINDOW(pMainWindow), FALSE);

	/* Set default icon to all windows */
	gtk_window_set_default_icon_from_file("./icons/etocg.png", NULL);

	/* Create vertical box */
	GtkWidget *pVerticalBox;
	pVerticalBox = gtk_vbox_new(FALSE, 0);
	gtk_container_add(GTK_CONTAINER(pMainWindow), pVerticalBox);

	/* Create horizontal box */
	GtkWidget *pHorizontalBox;
	pHorizontalBox = gtk_hbox_new(FALSE, 0);
	gtk_box_pack_start_defaults(GTK_BOX(pVerticalBox), pHorizontalBox);

	/* Create banner */
	GtkWidget *pBannerImage;
	pBannerImage = gtk_image_new_from_file("./images/banner.png");
	gtk_box_pack_start_defaults(GTK_BOX(pHorizontalBox), pBannerImage);

	/* Create horizontal box */
	GtkWidget *pHorizontalBox2;
	pHorizontalBox2 = gtk_hbox_new(FALSE, 0);
	gtk_box_pack_start(GTK_BOX(pVerticalBox), pHorizontalBox2, 1, 1, 0);

	/* Create horizontal box */
	GtkWidget *pHorizontalBox3;
	pHorizontalBox3 = gtk_hbox_new(FALSE, 0);
	gtk_box_pack_start(GTK_BOX(pVerticalBox), pHorizontalBox3, 0, 0, 0);

	/* Create progress bar */
	GtkWidget *pProgressProgressBar;
	pProgressProgressBar = gtk_progress_bar_new();
	gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(pProgressProgressBar), GTK_PROGRESS_LEFT_TO_RIGHT);
	gtk_box_pack_start(GTK_BOX(pHorizontalBox3), pProgressProgressBar, TRUE, TRUE, 0);
	
	/* Create horizontal box */
	GtkWidget *pHorizontalBox4;
	pHorizontalBox4 = gtk_hbox_new(FALSE, 0);
	gtk_box_pack_start(GTK_BOX(pVerticalBox), pHorizontalBox4, 0, 0, 0);

	/* Create buttons */
	GtkWidget *pAboutButton; GtkWidget *pNextButton; GtkWidget *pSaveAsButton; GtkWidget *pQuitButton;
	pSaveAsButton = gtk_button_new_from_stock(GTK_STOCK_SAVE_AS);
	gtk_box_pack_start_defaults(GTK_BOX(pHorizontalBox4), pSaveAsButton);	
	pNextButton = gtk_button_new_from_stock(GTK_STOCK_GO_FORWARD);
	gtk_box_pack_start_defaults(GTK_BOX(pHorizontalBox4), pNextButton);
	pAboutButton = gtk_button_new_from_stock(GTK_STOCK_ABOUT);	
	gtk_box_pack_start_defaults(GTK_BOX(pHorizontalBox4), pAboutButton);
	pQuitButton = gtk_button_new_from_stock(GTK_STOCK_QUIT);
	gtk_box_pack_start_defaults(GTK_BOX(pHorizontalBox4), pQuitButton);		

	/* Spacings */
	gtk_box_set_spacing(GTK_BOX(pHorizontalBox), 10);
	gtk_box_set_spacing(GTK_BOX(pHorizontalBox2), 10);
	gtk_box_set_spacing(GTK_BOX(pHorizontalBox3), 10);
	gtk_box_set_spacing(GTK_BOX(pHorizontalBox4), 10);
	gtk_box_set_spacing(GTK_BOX(pVerticalBox), 10);	
	
	while(CurrentWizard < 2)
	{
		if(CurrentWizard == 1)
		{
			#include "wizard01.c"
			CurrentWizard++;
		}
		else if(CurrentWizard == 2)
		{
			#include "wizard02a.c"
			CurrentWizard++;	
		}
	}
			
	#include "signals.c"	
	
	/* Show main window */
	gtk_widget_show_all(pMainWindow);

	/* Main */
	gtk_main();
	return EXIT_SUCCESS;
}

wizard01:

/*
 *      wizard01.c
 *      
 *      Copyright 2008 warren <wardubmc@gmail.com>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

/* --- WIZARD: 1/10 --- */

GtkWidget *pFrameVerticalBox;
pFrameVerticalBox = gtk_vbox_new(TRUE, 0);
gtk_container_add(GTK_CONTAINER(pHorizontalBox2), pFrameVerticalBox);

GtkWidget *pWizardFrame;
pWizardFrame = gtk_frame_new("Config Options: General");
gtk_box_pack_start(GTK_BOX(pFrameVerticalBox), pWizardFrame, 1, 1, 10);

GtkWidget *pWizardTable;
pWizardTable = gtk_table_new(0, 0, FALSE);
gtk_container_add(GTK_CONTAINER(pWizardFrame), pWizardTable);
gtk_table_set_row_spacings(GTK_TABLE(pWizardTable), 10);
gtk_table_set_col_spacings(GTK_TABLE(pWizardTable), 10);
	
GtkWidget *pConfigNameCheckBox; GtkWidget *pConfigNameCheckBoxAlignment; GtkWidget *pConfigNameLabel; GtkWidget *pConfigNameLabelAlignment; GtkWidget *pConfigNameEntry; GtkWidget *pConfigNameEntryAlignment;
pConfigNameCheckBox = gtk_check_button_new(); pConfigNameLabel = gtk_label_new("Config Name:"); pConfigNameEntry = gtk_entry_new();

pConfigNameCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pConfigNameCheckBoxAlignment), pConfigNameCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable), pConfigNameCheckBoxAlignment, 0, 1, 0, 1, 0, 0, 10, 10);

pConfigNameLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pConfigNameLabelAlignment), pConfigNameLabel);
gtk_table_attach(GTK_TABLE(pWizardTable), pConfigNameLabelAlignment, 1, 2, 0, 1, 0, 0, 10, 10);

pConfigNameEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pConfigNameEntryAlignment), pConfigNameEntry);
gtk_table_attach(GTK_TABLE(pWizardTable), pConfigNameEntryAlignment, 2, 3, 0, 1, 0, 0, 0, 10);

GtkWidget *pNameCheckBox; GtkWidget *pNameCheckBoxAlignment; GtkWidget *pNameLabel; GtkWidget *pNameLabelAlignment;  GtkWidget *pNameEntry; GtkWidget *pNameEntryAlignment;
pNameCheckBox = gtk_check_button_new(); pNameLabel = gtk_label_new("Your Name:"); pNameEntry = gtk_entry_new();

pNameCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pNameCheckBoxAlignment), pNameCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable), pNameCheckBoxAlignment, 0, 1, 1, 2, 0, 0, 10, 10);

pNameLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pNameLabelAlignment), pNameLabel);
gtk_table_attach(GTK_TABLE(pWizardTable), pNameLabelAlignment, 1, 2, 1, 2, 0, 0, 10, 10);

pNameEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pNameEntryAlignment), pNameEntry);
gtk_table_attach(GTK_TABLE(pWizardTable), pNameEntryAlignment, 2, 3, 1, 2, 0, 0, 0, 10);

GtkWidget *pCopyrightCheckBox; GtkWidget *pCopyrightCheckBoxAlignment; GtkWidget *pCopyrightLabel; GtkWidget *pCopyrightLabelAlignment; GtkWidget *pCopyrightEntry; GtkWidget *pCopyrightEntryAlignment;
pCopyrightCheckBox = gtk_check_button_new(); pCopyrightLabel = gtk_label_new("Copyright:"); pCopyrightEntry = gtk_entry_new();

pCopyrightCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCopyrightCheckBoxAlignment), pCopyrightCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable), pCopyrightCheckBoxAlignment, 0, 1, 2, 3, 0, 0, 10, 10);

pCopyrightLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCopyrightLabelAlignment), pCopyrightLabel);
gtk_table_attach(GTK_TABLE(pWizardTable), pCopyrightLabelAlignment, 1, 2, 2, 3, 0, 0, 10, 10);

pCopyrightEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCopyrightEntryAlignment), pCopyrightEntry);
gtk_table_attach(GTK_TABLE(pWizardTable), pCopyrightEntryAlignment, 2, 3, 2, 3, 0, 0, 0, 10);

GtkWidget *pAddNotesCheckBox; GtkWidget *pAddNotesCheckBoxAlignment; GtkWidget *pAddNotesLabel; GtkWidget *pAddNotesLabelAlignment; GtkWidget *pAddNotesEntry; GtkWidget *pAddNotesEntryAlignment;
pAddNotesCheckBox = gtk_check_button_new(); pAddNotesLabel = gtk_label_new("Add Notes:"); pAddNotesEntry = gtk_entry_new();

pAddNotesCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pAddNotesCheckBoxAlignment), pAddNotesCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable), pAddNotesCheckBoxAlignment, 0, 1, 3, 4, 0, 0, 10, 10);

pAddNotesLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pAddNotesLabelAlignment), pAddNotesLabel);
gtk_table_attach(GTK_TABLE(pWizardTable), pAddNotesLabelAlignment, 1, 2, 3, 4, 0, 0, 10, 10);

pAddNotesEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pAddNotesEntryAlignment), pAddNotesEntry);
gtk_table_attach(GTK_TABLE(pWizardTable), pAddNotesEntryAlignment, 2, 3, 3, 4, 0, 0, 0, 10);

GtkWidget *pUnbindAllCheckBox; GtkWidget *pUnbindAllCheckBoxAlignment; GtkWidget *pUnbindAllLabel; GtkWidget *pUnbindAllLabelAlignment;
pUnbindAllCheckBox = gtk_check_button_new(); pUnbindAllLabel = gtk_label_new("Unbind All keys");

pUnbindAllCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pUnbindAllCheckBoxAlignment), pUnbindAllCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable), pUnbindAllCheckBoxAlignment, 1, 2, 4, 5, 0, 0, 10, 10);

pUnbindAllLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pUnbindAllLabelAlignment), pUnbindAllLabel);
gtk_table_attach(GTK_TABLE(pWizardTable), pUnbindAllLabelAlignment, 2, 3, 4, 5, 0, 0, 10, 10);

GtkWidget *pFrameVerticalBox2;
pFrameVerticalBox2 = gtk_vbox_new(TRUE, 0);
gtk_container_add(GTK_CONTAINER(pHorizontalBox2), pFrameVerticalBox2);

GtkWidget *pWizardFrame2;
pWizardFrame2 = gtk_frame_new("Options: Controls: Move");
gtk_box_pack_start(GTK_BOX(pFrameVerticalBox2), pWizardFrame2, 1, 1, 10);

GtkWidget *pWizardTable2;
pWizardTable2 = gtk_table_new(0, 0, FALSE);

gtk_container_add(GTK_CONTAINER(pWizardFrame2), pWizardTable2);
gtk_table_set_row_spacings(GTK_TABLE(pWizardTable2), 10);
gtk_table_set_col_spacings(GTK_TABLE(pWizardTable2), 10);

GtkWidget *pForwardCheckBox; GtkWidget *pForwardCheckBoxAlignment; GtkWidget *pForwardLabel; GtkWidget *pForwardLabelAlignment; GtkWidget *pForwardEntry; GtkWidget *pForwardEntryAlignment;
pForwardCheckBox = gtk_check_button_new(); pForwardLabel = gtk_label_new("Forward:"); pForwardEntry = gtk_entry_new();
gtk_widget_set_size_request(pForwardEntry, 55, -1);

pForwardCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pForwardCheckBoxAlignment), pForwardCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pForwardCheckBoxAlignment, 0, 1, 0, 1, 0, 0, 10, 10);

pForwardLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pForwardLabelAlignment), pForwardLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pForwardLabelAlignment, 1, 2, 0, 1, 0, 0, 10, 10);

pForwardEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pForwardEntryAlignment), pForwardEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pForwardEntryAlignment, 2, 3, 0, 1, 0, 0, 0, 10);

GtkWidget *pBackCheckBox; GtkWidget *pBackCheckBoxAlignment; GtkWidget *pBackLabel; GtkWidget *pBackLabelAlignment; GtkWidget *pBackEntry; GtkWidget *pBackEntryAlignment;
pBackCheckBox = gtk_check_button_new(); pBackLabel = gtk_label_new("Back:"); pBackEntry = gtk_entry_new();
gtk_widget_set_size_request(pBackEntry, 55, -1);

pBackCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pBackCheckBoxAlignment), pBackCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pBackCheckBoxAlignment, 0, 1, 1, 2, 0, 0, 10, 10);

pBackLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pBackLabelAlignment), pBackLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pBackLabelAlignment, 1, 2, 1, 2, 0, 0, 10, 10);

pBackEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pBackEntryAlignment), pBackEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pBackEntryAlignment, 2, 3, 1, 2, 0, 0, 0, 10);

GtkWidget *pMoveLeftCheckBox; GtkWidget *pMoveLeftCheckBoxAlignment; GtkWidget *pMoveLeftLabel; GtkWidget *pMoveLeftLabelAlignment; GtkWidget *pMoveLeftEntry; GtkWidget *pMoveLeftEntryAlignment;
pMoveLeftCheckBox = gtk_check_button_new(); pMoveLeftLabel = gtk_label_new("Move Left:"); pMoveLeftEntry = gtk_entry_new();
gtk_widget_set_size_request(pMoveLeftEntry, 55, -1);

pMoveLeftCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveLeftCheckBoxAlignment), pMoveLeftCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveLeftCheckBoxAlignment, 0, 1, 2, 3, 0, 0, 10, 10);

pMoveLeftLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveLeftLabelAlignment), pMoveLeftLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveLeftLabelAlignment, 1, 2, 2, 3, 0, 0, 10, 10);

pMoveLeftEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveLeftEntryAlignment), pMoveLeftEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveLeftEntryAlignment, 2, 3, 2, 3, 0, 0, 0, 10);

GtkWidget *pMoveRightCheckBox; GtkWidget *pMoveRightCheckBoxAlignment; GtkWidget *pMoveRightLabel; GtkWidget *pMoveRightLabelAlignment; GtkWidget *pMoveRightEntry; GtkWidget *pMoveRightEntryAlignment;
pMoveRightCheckBox = gtk_check_button_new(); pMoveRightLabel = gtk_label_new("Move Right:"); pMoveRightEntry = gtk_entry_new();
gtk_widget_set_size_request(pMoveRightEntry, 55, -1);

pMoveRightCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveRightCheckBoxAlignment), pMoveRightCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveRightCheckBoxAlignment, 0, 1, 3, 4, 0, 0, 10, 10);

pMoveRightLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveRightLabelAlignment), pMoveRightLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveRightLabelAlignment, 1, 2, 3, 4, 0, 0, 10, 10);

pMoveRightEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pMoveRightEntryAlignment), pMoveRightEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pMoveRightEntryAlignment, 2, 3, 3, 4, 0, 0, 0, 10);

GtkWidget *pLeanLeftCheckBox; GtkWidget *pLeanLeftCheckBoxAlignment; GtkWidget *pLeanLeftLabel; GtkWidget *pLeanLeftLabelAlignment; GtkWidget *pLeanLeftEntry; GtkWidget *pLeanLeftEntryAlignment;
pLeanLeftCheckBox = gtk_check_button_new(); pLeanLeftLabel = gtk_label_new("Lean Left:"); pLeanLeftEntry = gtk_entry_new();
gtk_widget_set_size_request(pLeanLeftEntry, 55, -1);

pLeanLeftCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanLeftCheckBoxAlignment), pLeanLeftCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanLeftCheckBoxAlignment, 0, 1, 4, 5, 0, 0, 10, 10);

pLeanLeftLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanLeftLabelAlignment), pLeanLeftLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanLeftLabelAlignment, 1, 2, 4, 5, 0, 0, 10, 10);

pLeanLeftEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanLeftEntryAlignment), pLeanLeftEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanLeftEntryAlignment, 2, 3, 4, 5, 0, 0, 0, 10);

GtkWidget *pLeanRightCheckBox; GtkWidget *pLeanRightCheckBoxAlignment; GtkWidget *pLeanRightLabel; GtkWidget *pLeanRightLabelAlignment; GtkWidget *pLeanRightEntry; GtkWidget *pLeanRightEntryAlignment;
pLeanRightCheckBox = gtk_check_button_new(); pLeanRightLabel = gtk_label_new("Lean Right:"); pLeanRightEntry = gtk_entry_new();
gtk_widget_set_size_request(pLeanRightEntry, 55, -1);

pLeanRightCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanRightCheckBoxAlignment), pLeanRightCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanRightCheckBoxAlignment, 0, 1, 5, 6, 0, 0, 10, 10);

pLeanRightLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanRightLabelAlignment), pLeanRightLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanRightLabelAlignment, 1, 2, 5, 6, 0, 0, 10, 10);

pLeanRightEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pLeanRightEntryAlignment), pLeanRightEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pLeanRightEntryAlignment, 2, 3, 5, 6, 0, 0, 0, 10);

GtkWidget *pJumpCheckBox; GtkWidget *pJumpCheckBoxAlignment; GtkWidget *pJumpLabel; GtkWidget *pJumpLabelAlignment; GtkWidget *pJumpEntry; GtkWidget *pJumpEntryAlignment;
pJumpCheckBox = gtk_check_button_new(); pJumpLabel = gtk_label_new("Jump:"); pJumpEntry = gtk_entry_new();
gtk_widget_set_size_request(pJumpEntry, 55, -1);

pJumpCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pJumpCheckBoxAlignment), pJumpCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pJumpCheckBoxAlignment, 4, 5, 0, 1, 0, 0, 10, 10);

pJumpLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pJumpLabelAlignment), pJumpLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pJumpLabelAlignment, 5, 6, 0, 1, 0, 0, 10, 10);

pJumpEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pJumpEntryAlignment), pJumpEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pJumpEntryAlignment, 6, 7, 0, 1, 0, 0, 0, 10);

GtkWidget *pCrouchCheckBox; GtkWidget *pCrouchCheckBoxAlignment; GtkWidget *pCrouchLabel; GtkWidget *pCrouchLabelAlignment; GtkWidget *pCrouchEntry; GtkWidget *pCrouchEntryAlignment;
pCrouchCheckBox = gtk_check_button_new(); pCrouchLabel = gtk_label_new("Crouch:"); pCrouchEntry = gtk_entry_new();
gtk_widget_set_size_request(pCrouchEntry, 55, -1);

pCrouchCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCrouchCheckBoxAlignment), pCrouchCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pCrouchCheckBoxAlignment, 4, 5, 1, 2, 0, 0, 10, 10);

pCrouchLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCrouchLabelAlignment), pCrouchLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pCrouchLabelAlignment, 5, 6, 1, 2, 0, 0, 10, 10);

pCrouchEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pCrouchEntryAlignment), pCrouchEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pCrouchEntryAlignment, 6, 7, 1, 2, 0, 0, 0, 10);

GtkWidget *pProneCheckBox; GtkWidget *pProneCheckBoxAlignment; GtkWidget *pProneLabel; GtkWidget *pProneLabelAlignment; GtkWidget *pProneEntry; GtkWidget *pProneEntryAlignment;
pProneCheckBox = gtk_check_button_new(); pProneLabel = gtk_label_new("Prone:"); pProneEntry = gtk_entry_new();
gtk_widget_set_size_request(pProneEntry, 55, -1);

pProneCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pProneCheckBoxAlignment), pProneCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pProneCheckBoxAlignment, 4, 5, 2, 3, 0, 0, 10, 10);

pProneLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pProneLabelAlignment), pProneLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pProneLabelAlignment, 5, 6, 2, 3, 0, 0, 10, 10);

pProneEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pProneEntryAlignment), pProneEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pProneEntryAlignment, 6, 7, 2, 3, 0, 0, 0, 10);

GtkWidget *pWalkCheckBox; GtkWidget *pWalkCheckBoxAlignment; GtkWidget *pWalkLabel; GtkWidget *pWalkLabelAlignment; GtkWidget *pWalkEntry; GtkWidget *pWalkEntryAlignment;
pWalkCheckBox = gtk_check_button_new(); pWalkLabel = gtk_label_new("Walk:"); pWalkEntry = gtk_entry_new();
gtk_widget_set_size_request(pWalkEntry, 55, -1);

pWalkCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pWalkCheckBoxAlignment), pWalkCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pWalkCheckBoxAlignment, 4, 5, 3, 4, 0, 0, 10, 10);

pWalkLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pWalkLabelAlignment), pWalkLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pWalkLabelAlignment, 5, 6, 3, 4, 0, 0, 10, 10);

pWalkEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pWalkEntryAlignment), pWalkEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pWalkEntryAlignment, 6, 7, 3, 4, 0, 0, 0, 10);

GtkWidget *pSprintCheckBox; GtkWidget *pSprintCheckBoxAlignment; GtkWidget *pSprintLabel; GtkWidget *pSprintLabelAlignment; GtkWidget *pSprintEntry; GtkWidget *pSprintEntryAlignment;
pSprintCheckBox = gtk_check_button_new(); pSprintLabel = gtk_label_new("Sprint:"); pSprintEntry = gtk_entry_new();
gtk_widget_set_size_request(pSprintEntry, 55, -1);

pSprintCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pSprintCheckBoxAlignment), pSprintCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pSprintCheckBoxAlignment, 4, 5, 4, 5, 0, 0, 10, 10);

pSprintLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pSprintLabelAlignment), pSprintLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pSprintLabelAlignment, 5, 6, 4, 5, 0, 0, 10, 10);

pSprintEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pSprintEntryAlignment), pSprintEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pSprintEntryAlignment, 6, 7, 4, 5, 0, 0, 0, 10);

GtkWidget *pUseCheckBox; GtkWidget *pUseCheckBoxAlignment; GtkWidget *pUseLabel; GtkWidget *pUseLabelAlignment; GtkWidget *pUseEntry; GtkWidget *pUseEntryAlignment;
pUseCheckBox = gtk_check_button_new(); pUseLabel = gtk_label_new("Use, Activate:"); pUseEntry = gtk_entry_new();
gtk_widget_set_size_request(pUseEntry, 55, -1);

pUseCheckBoxAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pUseCheckBoxAlignment), pUseCheckBox);
gtk_table_attach(GTK_TABLE(pWizardTable2), pUseCheckBoxAlignment, 4, 5, 5, 6, 0, 0, 10, 10);

pUseLabelAlignment = gtk_alignment_new(0, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pUseLabelAlignment), pUseLabel);
gtk_table_attach(GTK_TABLE(pWizardTable2), pUseLabelAlignment, 5, 6, 5, 6, 0, 0, 10, 10);

pUseEntryAlignment = gtk_alignment_new(1, 0, 0, 0);
gtk_container_add(GTK_CONTAINER(pUseEntryAlignment), pUseEntry);
gtk_table_attach(GTK_TABLE(pWizardTable2), pUseEntryAlignment, 6, 7, 5, 6, 0, 0, 0, 10);

/* Check Buttons */
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pConfigNameCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pNameCheckBox), TRUE);

gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pForwardCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pBackCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pMoveLeftCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pMoveRightCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pLeanLeftCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pLeanRightCheckBox), TRUE);

gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pJumpCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pCrouchCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pProneCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pWalkCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pSprintCheckBox), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pUseCheckBox), TRUE);

/* Entries */
gtk_entry_set_text(GTK_ENTRY(pConfigNameEntry), "My Config");
gtk_entry_set_text(GTK_ENTRY(pNameEntry), "My Name");

gtk_entry_set_text(GTK_ENTRY(pForwardEntry), "W");
gtk_entry_set_text(GTK_ENTRY(pBackEntry), "S");
gtk_entry_set_text(GTK_ENTRY(pMoveLeftEntry), "A");
gtk_entry_set_text(GTK_ENTRY(pMoveRightEntry), "D");
gtk_entry_set_text(GTK_ENTRY(pLeanLeftEntry), "Q");
gtk_entry_set_text(GTK_ENTRY(pLeanRightEntry), "E");
gtk_entry_set_text(GTK_ENTRY(pJumpEntry), "SPACE");
gtk_entry_set_text(GTK_ENTRY(pCrouchEntry), "C");
gtk_entry_set_text(GTK_ENTRY(pProneEntry), "X");
gtk_entry_set_text(GTK_ENTRY(pWalkEntry), "CAPSLOCK");
gtk_entry_set_text(GTK_ENTRY(pSprintEntry), "SHIFT");
gtk_entry_set_text(GTK_ENTRY(pUseEntry), "F");

/* --- --- WIZARD 1/10 --- --- */

Hors ligne

#2 Le 27/03/2008, à 09:34

wa.dumortier

Re : Faire un assistant en GTK+ ?

Personne peut m'aider? sad

Dernière modification par wa.dumortier (Le 27/03/2008, à 09:34)

Hors ligne

#3 Le 27/03/2008, à 15:06

Karl_le_rouge

Re : Faire un assistant en GTK+ ?

http://library.gnome.org/devel/gtk/stable/GtkAssistant.html

Hors ligne

#4 Le 27/03/2008, à 16:32

wa.dumortier

Re : Faire un assistant en GTK+ ?

Oui, mais c'est une fenêtre...
Sinon je voulais savoir si c'était possible de faire une boucle qui lit une variable contenant un chiffre, qui include le fichier wizardX.c (ou X est le chiffre), incrémente le chiffre et continue à exécuter le programme jusqu'à ce que l'utilisateur appuie sur un bouton suivant, dans ce cas le boucle doit retourner au début pour continuer le programme avec le prochain fichier?

Pour simplifier:

...
BOUCLE {
Lit variable -> Inclut WizardX.c (Le fichier crée les widgets)
Continuer le programme...
L'utilisateur clicke sur Suivant -> Fin de la boucle : variable++
}

Hors ligne