Changeset b61fc026e7a6957c78c3af4e6b250ad8310431dd


Ignore:
Timestamp:
04/04/10 15:22:20 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
16031c0c0382e0dec3ff640ff27c96d69a9ff602
Parents:
0f5bda49b75774e8c0e4aa3b3ce6d6fbd2bb93db
git-committer:
Matias De la Puente <mfpuente.ar@…> (04/04/10 15:22:20)
Message:

Add SidePanel? with show/hide action in MainWindow?

SidePanel? accepts SidePage? objects

Location:
libi4uc
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • libi4uc/Makefile.am

    r7759ee2 rb61fc02  
    4444        i4ucsearchbarviewiface.vala \ 
    4545        i4ucsettings.vala \ 
     46        i4ucsidepage.vala \ 
     47        i4ucsidepanel.vala \ 
    4648        i4ucsyntaxhighlightmenu.vala \ 
    4749        i4ucsyntaxhighlightmenuiface.vala \ 
  • libi4uc/i4ucmainwindowpresenter.vala

    rdafa6bc rb61fc02  
    3131                //Configure view 
    3232                _main_window_view.title = _("IDE for microcontrollers"); 
     33                _main_window_view.show_side_panel_active = I4uc.Settings.instance.side_panel_visible; 
     34                _main_window_view.side_panel_visible = I4uc.Settings.instance.side_panel_visible; 
    3335                 
    3436                //Connect view signals 
     37                _main_window_view.show_side_panel_changed.connect (on_show_side_panel_changed); 
    3538                _main_window_view.about_clicked.connect (on_about_clicked); 
     39        } 
     40 
     41        private void on_show_side_panel_changed () 
     42        { 
     43                _main_window_view.side_panel_visible = _main_window_view.show_side_panel_active; 
     44                I4uc.Settings.instance.side_panel_visible = _main_window_view.show_side_panel_active; 
    3645        } 
    3746         
  • libi4uc/i4ucmainwindowview.vala

    raee551b rb61fc02  
    2727        private UIManager _ui_manager = new UIManager (); 
    2828        private PagesPanel _pages_panel = new PagesPanel (); 
     29        private SidePanel _side_panel = new SidePanel (); 
     30        private ToggleAction _show_side_panel_action; 
    2931         
    3032        public UIManager ui_manager { get { return _ui_manager; } } 
    3133        public PagesPanel pages_panel { get { return _pages_panel; } } 
    32          
     34        public SidePanel side_panel { get { return _side_panel; } } 
     35 
     36        public bool show_side_panel_active 
     37        { 
     38                set { _show_side_panel_action.active = value; } 
     39                get { return _show_side_panel_action.active; } 
     40        } 
     41 
     42        public bool side_panel_visible 
     43        { 
     44                set { _side_panel.visible = value; } 
     45                get { return _side_panel.visible; } 
     46        } 
     47 
    3348        public MainWindowView () 
    3449        { 
     
    4055                _action_group = new ActionGroup ("I4ucMainWindowActions"); 
    4156                _action_group.add_actions (_action_entries, this); 
    42                  
     57                _action_group.add_toggle_actions (_toggle_action_entries, this); 
     58 
    4359                _ui_manager.insert_action_group (_action_group, 0); 
    4460                _ui_manager.add_ui_from_string (_UI, -1); 
    45                  
     61 
     62                _show_side_panel_action = _action_group.get_action ("ShowSidePanelAction") as ToggleAction; 
     63 
    4664                var menubar = (MenuBar)_ui_manager.get_widget ("/MainMenu"); 
    4765                var toolbar = (Toolbar)_ui_manager.get_widget ("/MainToolbar"); 
    4866                Gtk.Callback non_homogeneous = (item) => { ((ToolItem)item).set_homogeneous (false); }; 
    4967                toolbar.foreach (non_homogeneous); 
     68 
     69                var hpaned = new HPaned (); 
     70                hpaned.add1 (_side_panel); 
     71                hpaned.add2 (_pages_panel); 
    5072                 
    5173                var vbox = new VBox (false, 0); 
    5274                vbox.pack_start (menubar, false, false, 0); 
    5375                vbox.pack_start (toolbar, false, false, 0); 
    54                 vbox.pack_start (_pages_panel, true, true, 0); 
     76                vbox.pack_start (hpaned, true, true, 0); 
    5577                add (vbox); 
    5678        } 
     
    7395                about_dialog.destroy (); 
    7496        } 
    75          
     97 
     98        private void on_show_side_panel () 
     99        { 
     100                this.show_side_panel_changed (); 
     101        } 
     102 
    76103        private void on_quit () 
    77104        { 
     
    95122        }; 
    96123         
     124        private const ToggleActionEntry[] _toggle_action_entries = 
     125        { 
     126                { "ShowSidePanelAction", null, N_("Side Panel"), null, N_("Show or hide side panel"), on_show_side_panel, false } 
     127        }; 
     128 
    97129        private const string _UI = """ 
    98130<ui> 
     
    107139                </menu> 
    108140                <menu name="ViewMenu" action="ViewMenuAction"> 
     141                        <menuitem action="ShowSidePanelAction"/> 
     142                        <separator/> 
    109143                        <placeholder name="ViewMenuOps"/> 
    110144                </menu> 
  • libi4uc/i4ucmainwindowviewiface.vala

    raee551b rb61fc02  
    2424{ 
    2525        public abstract string title { set; get; } 
    26          
     26        public abstract bool show_side_panel_active { set; get; } 
     27        public abstract bool side_panel_visible { set; get; } 
     28 
     29        public signal void show_side_panel_changed (); 
    2730        public signal bool exit_clicked (); 
    2831        public signal void about_clicked (); 
  • libi4uc/i4ucsettings.vala

    r7759ee2 rb61fc02  
    3535        private HashMap<string, Builder> _builders = new HashMap<string, Builder> (); 
    3636         
    37         public bool projects_panel_visible { set; get; } 
     37        public bool side_panel_visible { set; get; } 
    3838        public bool logs_panel_visible { set; get; } 
    3939        public string working_folder { set; get; } 
     
    8181                        return; 
    8282                 
    83                 this.projects_panel_visible = key_file.get_boolean (_I4UC_SETTINGS, "projects_panel_visible"); 
     83                this.side_panel_visible = key_file.get_boolean (_I4UC_SETTINGS, "side_panel_visible"); 
    8484                this.logs_panel_visible = key_file.get_boolean (_I4UC_SETTINGS, "logs_panel_visible"); 
    8585                 
     
    107107                var key_file = new KeyFile (); 
    108108                 
    109                 key_file.set_boolean (_I4UC_SETTINGS, "projects_panel_visible", _projects_panel_visible); 
     109                key_file.set_boolean (_I4UC_SETTINGS, "side_panel_visible", _side_panel_visible); 
    110110                key_file.set_boolean (_I4UC_SETTINGS, "logs_panel_visible", _logs_panel_visible); 
    111111                 
Note: See TracChangeset for help on using the changeset viewer.