Pages : 1
#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?
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
Pages : 1