Main Page | Namespace List | Class List | Directories | File List | Class Members | File Members

openldev.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2004-2005 by Andrew Krause                              *
00003  *                                                                         *
00004  *   This program is free software; you can redistribute it and/or modify  *
00005  *   it under the terms of the GNU General Public License as published by  *
00006  *   the Free Software Foundation; either version 2 of the License, or     *
00007  *   (at your option) any later version.                                   *
00008  *                                                                         *
00009  *   This program is distributed in the hope that it will be useful,       *
00010  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00011  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00012  *   GNU General Public License for more details.                          *
00013  *                                                                         *
00014  *   You should have received a copy of the GNU General Public License     *
00015  *   along with this program; if not, write to the                         *
00016  *   Free Software Foundation, Inc.,                                       *
00017  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00018  ***************************************************************************/
00019  
00020 #ifndef OPENLDEV_MAIN_H
00021 #define OPENLDEV_MAIN_H
00022 
00023 #include "openldev-widgets/openldev-browser.h"
00024 #include "openldev-widgets/openldev-goto-line-toolbar.h"
00025 #include "openldev-widgets/openldev-find-toolbar.h"
00026 #include "openldev-widgets/openldev-menu.h"
00027 #include "openldev-widgets/openldev-file-manager.h"
00028 #include "openldev-widgets/openldev-output-manager.h"
00029 #include "openldev-widgets/openldev-status-bar.h"
00030 #include "openldev-settings/openldev-editor.h"
00031 #include "openldev-settings/openldev-settings.h"
00032 #include "openldev-settings/openldev-project.h"
00033 #include "openldev-plugin.h"
00034 
00035 #include <sys/stat.h>
00036 #include <glib-object.h>
00037 #include <glib.h>
00038 
00039 #define VERSION "0.5.3"
00040 
00041 typedef struct _OpenLDev  OpenLDev;
00042 
00043 struct _OpenLDev
00044 {  
00045   // Class Widgets
00046   Browser         *browser;
00047   FileManager     *notebook;
00048   FindToolbar     *findtoolbar;
00049   GotoLineToolbar *gototoolbar;
00050   MenuHandle      *menus;
00051   OutputManager   *output;
00052   StatusBar       *statusbar;
00053 
00054   // Gtk Widgets
00055   GtkWidget *hbox;
00056   GtkWidget *hpaned;
00057   GtkWidget *vbox;
00058   GtkWidget *vpaned;
00059   GtkWidget *window;
00060   
00061   // Environment & project settings
00062   EditorProperties    *editor;
00063   EnvironmentSettings *env;
00064   ProjectSettings     *project;
00065   OpenLDevPluginList  *pluginlist;
00066 };
00067 
00068 OpenLDev* openldev_new_with_window (GtkWidget*);
00069 
00070 // Utility Functions
00071 void   openldev_error      (gchar*);
00072 gboolean   openldev_question   (gchar*);
00073 void   openldev_write_file (string, string);
00074 string openldev_read_file  (string);
00075 void openldev_manage_menu_items (OpenLDev*);
00076 
00077 // Plugin Functions
00078 OpenLDevPluginList* openldev_load_plugins_all (OpenLDev*);
00079 
00080 // File Management Functions
00081 bool openldev_open_file    (OpenLDev*, gchar*);
00082 bool openldev_open_project (OpenLDev*, gchar*);
00083 void openldev_populate_treeview (OpenLDev*);
00084 
00085 // Toolbar Functions
00086 void openldev_goto_to_line_number (OpenLDev*, int);
00087 void openldev_find_next           (OpenLDev*);
00088 void openldev_find_and_replace    (OpenLDev*);
00089 
00090 // Internal OpenLDev menu handlers
00091 void openldev_file_close_project (GtkMenuItem*, gpointer);
00092 void openldev_file_new_file      (GtkMenuItem*, gpointer);
00093 void openldev_file_new_project   (GtkMenuItem*, gpointer);
00094 void openldev_file_open          (GtkMenuItem*, gpointer);
00095 void openldev_file_print         (GtkMenuItem*, gpointer);
00096 void openldev_file_print_preview (GtkMenuItem*, gpointer);
00097 void openldev_file_revert        (GtkMenuItem*, gpointer);
00098 void openldev_file_save          (GtkMenuItem*, gpointer);
00099 void openldev_file_save_all      (GtkMenuItem*, gpointer);
00100 void openldev_file_save_as       (GtkMenuItem*, gpointer);
00101 void openldev_file_quit          (GtkMenuItem*, gpointer);
00102 
00103 void openldev_edit_copy        (GtkMenuItem*, gpointer);
00104 void openldev_edit_cut         (GtkMenuItem*, gpointer);
00105 void openldev_edit_deselect    (GtkMenuItem*, gpointer);
00106 void openldev_edit_find        (GtkMenuItem*, gpointer);
00107 void openldev_edit_find_next   (GtkMenuItem*, gpointer);
00108 void openldev_edit_goto_line   (GtkMenuItem*, gpointer);
00109 void openldev_edit_paste       (GtkMenuItem*, gpointer);
00110 void openldev_edit_preferences (GtkMenuItem*, gpointer);
00111 void openldev_edit_redo        (GtkMenuItem*, gpointer);
00112 void openldev_edit_select_all  (GtkMenuItem*, gpointer);
00113 void openldev_edit_undo        (GtkMenuItem*, gpointer);
00114 
00115 void openldev_project_info            (GtkMenuItem*, gpointer);
00116 void openldev_project_preferences     (GtkMenuItem*, gpointer);
00117 
00118 void openldev_build_auto_generate (GtkMenuItem*, gpointer);
00119 void openldev_build_clean         (GtkMenuItem*, gpointer);
00120 void openldev_build_compile       (GtkMenuItem*, gpointer);
00121 void openldev_build_configure     (GtkMenuItem*, gpointer);
00122 void openldev_build_execute       (GtkMenuItem*, gpointer);
00123 void openldev_build_project       (GtkMenuItem*, gpointer);
00124 void openldev_build_stop          (GtkMenuItem*, gpointer);
00125 
00126 void openldev_view_browser        (GtkMenuItem*, gpointer);
00127 void openldev_view_line_numbering (GtkMenuItem*, gpointer);
00128 void openldev_view_output         (GtkMenuItem*, gpointer);
00129 void openldev_view_statusbar      (GtkMenuItem*, gpointer);
00130 void openldev_view_toolbar        (GtkMenuItem*, gpointer);
00131 
00132 void openldev_help_about         (GtkMenuItem *menuitem, gpointer data);
00133 void openldev_help_documentation (GtkMenuItem *menuitem, gpointer data);
00134 void openldev_help_report_bug    (GtkMenuItem *menuitem, gpointer data);
00135 
00136 // API menu handlers
00137 void openldev_menu_file_close_project (OpenLDev*);
00138 void openldev_menu_file_new_file      (OpenLDev*);
00139 void openldev_menu_file_new_project   (OpenLDev*);
00140 void openldev_menu_file_open          (OpenLDev*);
00141 void openldev_menu_file_print         (OpenLDev*);
00142 void openldev_menu_file_print_preview (OpenLDev*);
00143 void openldev_menu_file_quit          (OpenLDev*);
00144 void openldev_menu_file_revert        (OpenLDev*);
00145 void openldev_menu_file_save          (OpenLDev*);
00146 void openldev_menu_file_save_all      (OpenLDev*);
00147 void openldev_menu_file_save_as       (OpenLDev*);
00148 
00149 void openldev_menu_edit_copy        (OpenLDev*);
00150 void openldev_menu_edit_cut         (OpenLDev*);
00151 void openldev_menu_edit_deselect    (OpenLDev*);
00152 void openldev_menu_edit_find        (OpenLDev*);
00153 void openldev_menu_edit_find_next   (OpenLDev*);
00154 void openldev_menu_edit_goto_line   (OpenLDev*);
00155 void openldev_menu_edit_paste       (OpenLDev*);
00156 void openldev_menu_edit_preferences (OpenLDev*);
00157 void openldev_menu_edit_redo        (OpenLDev*);
00158 void openldev_menu_edit_select_all  (OpenLDev*);
00159 void openldev_menu_edit_undo        (OpenLDev*);
00160 
00161 void openldev_menu_project_info            (OpenLDev*);
00162 void openldev_menu_project_preferences     (OpenLDev*);
00163 
00164 void openldev_menu_build_auto_generate (OpenLDev*);
00165 void openldev_menu_build_project       (OpenLDev*);
00166 void openldev_menu_build_clean         (OpenLDev*);
00167 void openldev_menu_build_compile       (OpenLDev*);
00168 void openldev_menu_build_configure     (OpenLDev*);
00169 void openldev_menu_build_execute       (OpenLDev*);
00170 void openldev_menu_build_stop          (OpenLDev*);
00171 
00172 void openldev_menu_view_browser        (OpenLDev*);
00173 void openldev_menu_view_line_numbering (OpenLDev*);
00174 void openldev_menu_view_output         (OpenLDev*);
00175 void openldev_menu_view_statusbar      (OpenLDev*);
00176 void openldev_menu_view_toolbar        (OpenLDev*);
00177 
00178 void openldev_menu_help_documentation (OpenLDev*);
00179 void openldev_menu_help_report_bug    (OpenLDev*);
00180 void openldev_menu_help_about         (OpenLDev*);
00181 
00182 #endif

Generated on Tue Jan 31 23:32:42 2006 for OpenLDev by  doxygen 1.4.4