App_Gtk.h
bakeryconfig.h
bakery/App/App.h
gtkmm/menubar.h
gtkmm/menu.h
gtkmm/toolbar.h
gtkmm/handlebox.h
gtkmm/dialog.h
gtkmm/uimanager.h
libglademm.h
App_WithDoc_Gtk.h
bakery.h
list
bakeryconfig.h
gtkmm/toolbar.h
map
App_Gtk.h
gtkmm/menubar.h
gtkmm/handlebox.h
glibmm/object.h
bakery/App/AppInstanceManager.h
vector
gtkmm/dialog.h
sigc++/sigc++.h
bakery/App/App.h
gtkmm/uimanager.h
libglademm.h
gtkmm/menu.h
glibmmconfig.h
bakery.h
App_Gtk.h
App_WithDoc_Gtk.h
Bakery::App_Gtk
Bakery

    /*
    *Copyright2000MurrayCumming
    *
    *Thislibraryisfreesoftware;youcanredistributeitand/or
    *modifyitunderthetermsoftheGNULibraryGeneralPublic
    *LicenseaspublishedbytheFreeSoftwareFoundation;either
    *version2oftheLicense,or(atyouroption)anylaterversion.
    *
    *Thislibraryisdistributedinthehopethatitwillbeuseful,
    *butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof
    *MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNU
    *LibraryGeneralPublicLicenseformoredetails.
    *
    *YoushouldhavereceivedacopyoftheGNULibraryGeneralPublic
    *Licensealongwiththislibrary;ifnot,writetotheFree
    *SoftwareFoundation,Inc.,675MassAve,Cambridge,MA02139,USA.
    */

    #ifndefBAKERY_APP_GTK_H
    #defineBAKERY_APP_GTK_H

    #include<bakeryconfig.h>//ForBAKERY_MAEMO_ENABLED
    #include<bakery/App/App.h>

    #ifdefBAKERY_MAEMO_ENABLED
    #include<hildonmm/window.h>
    #endif

    #include<gtkmm/menubar.h>
    #include<gtkmm/menu.h>
    #include<gtkmm/toolbar.h>
    #include<gtkmm/handlebox.h>
    #include<gtkmm/dialog.h>
    #include<gtkmm/uimanager.h>
    #include<libglademm.h>

    namespaceBakery
    {

    classApp_Gtk
    :virtualpublicApp,//virtualbecauseApp_WithDoc_GtkwillinherititviaApp_GtkandviaApp_With_Doc
    #ifdefBAKERY_MAEMO_ENABLED
    virtualpublicHildon::Window//inheritvirtuallytosharesigc::trackable.
    #else
    virtualpublicGtk::Window//inheritvirtuallytosharesigc::trackable.
    #endif
    {
    public:
    #ifdefBAKERY_MAEMO_ENABLED
    typedefHildon::WindowParentWindow;
    #else
    typedefGtk::WindowParentWindow;
    #endif
    friendclassAppInstanceManager;

    App_Gtk(constGlib::ustring&appname);

    App_Gtk(BaseObjectType*cobject,constGlib::ustring&appname);

    virtual~App_Gtk();

    virtualvoidadd(Gtk::Widget&child);

    staticGlib::ustringutil_bold_message(constGlib::ustring&message);

    protected:

    virtualvoidinit();//Overridetoshow().
    virtualvoidinit_ui_manager();//OverridethistoaddmoreUIplaceholders
    virtualvoidinit_menus();//Overridethistoaddmoreordifferentmenus.
    virtualvoidinit_menus_file();//Callthisfrominit_menus()toaddthestandardfilemenu.
    virtualvoidinit_menus_edit();//Callthisfrominit_menus()toaddthestandardeditmenu
    virtualvoidinit_menus_help();//Callthisfrominit_menus()toaddthestandardhelpmenu.
    virtualvoidinit_toolbars();

    virtualvoidinit_layout();//Arrangesthemenu,toolbar,etc.

    virtualvoidadd_ui_from_string(constGlib::ustring&ui_description);//Conveniencefunction

    virtualvoidon_hide();//override.

    //Signalhandlers:

    //Menus:
    virtualvoidon_menu_help_about();

    virtualvoidon_about_close();

    virtualvoidui_hide();
    virtualvoidui_bring_to_front();

    virtualboolon_delete_event(GdkEventAny*event);//override

    //virtualvoiddestroy_and_remove_from_list();

    //Memberdata:

    //UIManagerandActions
    Glib::RefPtr<Gtk::UIManager>m_refUIManager;
    Glib::RefPtr<Gtk::ActionGroup>m_refFileActionGroup;
    Glib::RefPtr<Gtk::ActionGroup>m_refEditActionGroup;
    Glib::RefPtr<Gtk::ActionGroup>m_refHelpActionGroup;

    //Memberwidgets:
    Gtk::VBox*m_pVBox;
    Gtk::VBoxm_VBox_PlaceHolder;

    //Gtk::MenuBarm_MenuBar;
    //Gtk::Menum_Menu_File,m_Menu_Edit,m_Menu_Help;

    Gtk::HandleBoxm_HandleBox_Toolbar;
    //Gtk::Toolbarm_Toolbar;

    //Allinstancesshare1Aboutbox:
    staticGtk::Window*m_pAbout;//Aboutbox.

    //typedefstd::vector<poptOption>type_vecPoptOptions;
    //type_vecPoptOptionsm_vecPoptOptions;
    };

    }//namespace

    #endif//BAKERY_APP_GTK_H