IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez C++ Discussion :

Ajouter Geany comme IDE


Sujet :

Contribuez C++

  1. #1
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut Ajouter Geany comme IDE
    Bonjour.

    J'ai regarder la section compilateur C++ et j'ai remarquer qu'il manquait Geany .
    Peut on l'ajouter ?
    Je peux fournir au besoin une description rapide.

    Merci.

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Le projet intéressant mais je n'ai pas trouvé comment compiler sous Windows

    Après avoir regardé le code, c'est pas top :
    Code geany.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    typedef struct MyApp
    {
    	gint			 	 toolbar_icon_style;
    	// 0:x, 1:y, 2:width, 3:height
    	gint				 geometry[4];
    	gboolean			 debug_mode;
    	// represents the state at startup while opening session files
    	gboolean			 opening_session_files;
    	// represents the state when Geany is quitting completely
    	gboolean			 quitting;
    	gboolean			 ignore_callback;
    	gboolean			 ignore_global_tags;
    	gboolean			 toolbar_visible;
    	gboolean			 sidebar_symbol_visible;
    	gboolean			 sidebar_openfiles_visible;
    	gboolean			 sidebar_visible;
    	gboolean			 statusbar_visible;
    	gboolean			 msgwindow_visible;
    	gboolean			 fullscreen;
    	gboolean			 beep_on_errors;
    	gboolean			 switch_msgwin_pages;
    	gboolean			 show_notebook_tabs;
    	gboolean			 tab_order_ltr;
    	gboolean			 show_markers_margin;
    	gboolean			 show_linenumber_margin;
    	gboolean			 brace_match_ltgt;
    	gboolean			 use_tab_to_indent;
    	gboolean			 main_window_realized;
    	// I know, it is a bit confusing, but this line breaking is globally,
    	// to change the default value at startup, I think
    	gboolean			 pref_editor_line_breaking;
    	gint			 	 pref_editor_indention_mode;
    	gboolean			 pref_editor_use_indicators;
    	gboolean			 pref_editor_show_white_space;
    	gboolean			 pref_editor_show_indent_guide;
    	gboolean			 pref_editor_show_line_endings;
    	gboolean			 pref_editor_auto_complete_symbols;
    	gboolean			 pref_editor_auto_close_xml_tags;
    	gboolean			 pref_editor_auto_complete_constructs;
    	gboolean			 pref_editor_folding;
    	gboolean			 pref_editor_unfold_all_children;
    	gboolean			 pref_editor_show_scrollbars;
    	gint				 pref_editor_tab_width;
    	gboolean			 pref_editor_use_tabs;
    	gint				 pref_editor_default_encoding;
    	gboolean			 pref_editor_new_line;
    	gboolean			 pref_editor_replace_tabs;
    	gboolean			 pref_editor_trail_space;
    	gboolean			 pref_editor_disable_dnd;
    	gboolean			 pref_main_load_session;
    	gboolean			 pref_main_save_winpos;
    	gboolean			 pref_main_confirm_exit;
    	gboolean			 pref_main_suppress_search_dialogs;
    	gboolean			 pref_toolbar_show_search;
    	gboolean			 pref_toolbar_show_goto;
    	gboolean			 pref_toolbar_show_undo;
    	gboolean			 pref_toolbar_show_compile;
    	gboolean			 pref_toolbar_show_zoom;
    	gboolean			 pref_toolbar_show_colour;
    	gboolean			 pref_toolbar_show_fileops;
    	gboolean			 pref_toolbar_show_quit;
    	gint				 tab_pos_editor;
    	gint				 tab_pos_msgwin;
    	gint				 tab_pos_sidebar;
    	guint				 mru_length;
    	gint				 autocompletion_max_height;
    	gint				 long_line_type;
    	gint				 long_line_column;
    	gchar				*long_line_color;
    	gchar				*context_action_cmd;
    	gchar				*pref_template_developer;
    	gchar				*pref_template_company;
    	gchar				*pref_template_mail;
    	gchar				*pref_template_initial;
    	gchar				*pref_template_version;
    	gchar				*editor_font;
    	gchar				*tagbar_font;
    	gchar				*msgwin_font;
    	gchar				*configdir;
    	gchar				*datadir;
    	gchar				*docdir;
    	gchar				*custom_date_format;
    	gchar				**custom_commands;
    	gchar				*tools_browser_cmd;
    	gchar				*tools_make_cmd;
    	gchar				*tools_term_cmd;
    	gchar				*tools_print_cmd;
    	gchar				*tools_grep_cmd;
    	GtkIconSize			 toolbar_icon_size;
    	GtkWidget			*toolbar;
    	GtkWidget			*run_button;
    	GtkWidget			*compile_button;
    	GtkWidget			*compile_button_image;
    	GtkWidget			*tagbar;
    	GtkWidget			*treeview_notebook;
    	GtkWidget			*notebook;
    	GtkWidget			*statusbar;
    	GtkWidget			*window;
    	GtkWidget			*popup_menu;
    	GtkWidget			*toolbar_menu;
    	GtkWidget			*new_file_menu;
    	GtkWidget			*recent_files_menubar;
    	GtkWidget			*recent_files_toolbar;
    	GtkWidget			*menu_insert_include_item[2];
    	GtkWidget			*popup_goto_items[3];
    	GtkWidget			*popup_items[5];
    	GtkWidget			*menu_copy_items[5];
    	GtkWidget			*redo_items[3];
    	GtkWidget			*undo_items[3];
    	GtkWidget			*save_buttons[4];
    	GtkWidget			*sensitive_buttons[39];
    	GtkWidget			*open_colorsel;
    	GtkWidget			*open_fontsel;
    	GtkWidget			*open_filesel;
    	GtkWidget			*save_filesel;
    	GtkWidget			*prefs_dialog;
    	GtkWidget			*default_tag_tree;
    	const TMWorkspace	*tm_workspace;
    	GQueue				*recent_queue;
    	GeanyProject		*project; // currently active project or NULL if none is open
    } MyApp;
     
    MyApp *app;

  3. #3
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Personellement , je ne peux juger le code puisque je ne connait pas la mannièere de crée un programme avec GTk+.

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Davidbrcz
    Personellement , je ne peux juger le code puisque je ne connait pas la mannièere de crée un programme avec GTk+.
    Le but est d'utiliser la POO, par exemple pour anjuta, voici la class qui sert de fenêtre principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    struct _AnjutaApp
    {
    	GnomeApp parent;
    	GtkWidget *toolbars_menu;
    	GtkWidget *view_menu;
    	GtkWidget *dock;
     	GdlDockLayout *layout_manager;
     
    	GHashTable *values;
    	GHashTable *widgets;
     
    	GtkAccelGroup *accel_group;
     
    	AnjutaStatus *status;
    	AnjutaUI *ui;
    	AnjutaPreferences *preferences;
    	AnjutaPluginManager *plugin_manager;
    	AnjutaProfileManager *profile_manager;
    };
    Je développe une appli qui à la base utilisait la structure globale et je suis en train de la réécrire en OO. A partir d'une certaine taille ça devient immaintenable et totalement buggué.
    En même temps j'utilise des singletons pour les éléments qui ne doivent être présent qu'une fois (page d'onglets où sont affiché les fichier ouverts, exemple). Du coup voici ma fonction main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    int main (int argc, char **argv)
    {
      sma_init (ERROR);
      gtk_init (&argc, &argv);
      g_log_set_handler (NULL, G_LOG_LEVEL_INFO, info_print, NULL);
      g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, message_print, NULL);
      g_log_set_handler (NULL, G_LOG_LEVEL_WARNING, warning_print, NULL);
      g_log_set_handler (NULL, G_LOG_LEVEL_CRITICAL, critical_print,
                         NULL);
      g_log_set_handler (NULL, G_LOG_LEVEL_ERROR, error_print, NULL);
      gtk_widget_show_all (exl_window_get_instance ());
      gtk_main ();
      sma_end ();
      return 0;
    }
    En C++ ma class fenêtre ressemblerai à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class ExlWindow : GtkWindow
    {
      private:
        GtkPaned *p_hpaned;
    };

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Oui.
    Mais bon pour le moment , il semble qu'il arrive encore maintenir le projet.
    Donc ...

Discussions similaires

  1. [Disque Dur] Ajouter un DD ide sur ordi sata
    Par bourvil dans le forum Composants
    Réponses: 4
    Dernier message: 02/10/2009, 16h23
  2. Réponses: 7
    Dernier message: 24/10/2007, 19h44
  3. Réponses: 2
    Dernier message: 09/11/2006, 23h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo