Changeset f7ca2a2bc940eb4ada6c54cc6333162a44a67624


Ignore:
Timestamp:
29/06/10 14:33:31 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
a3d57aae7735bdde7300b1e663df36ade9dc8e8c
Parents:
466127d49214489bb79e36b257c34f9f634f2adb
git-committer:
Matias De la Puente <mfpuente.ar@…> (29/06/10 14:33:31)
Message:

Programmers: Move actions to the menu and toolbar

Fixes Ticket #2

Location:
libi4uc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • libi4uc/i4ucprogrammerspresenter.vala

    r9e8cdad rf7ca2a2  
    6565                _view.side_page.device_changed.connect (on_device_changed); 
    6666                _view.side_page.fuses_changed.connect (on_fuses_changed); 
    67                 _view.side_page.write_flash_clicked.connect (on_write_flash_clicked); 
    68                 _view.side_page.read_flash_clicked.connect (on_read_flash_clicked); 
    69                 _view.side_page.verify_flash_clicked.connect (() => run_command (_current_programmer.verify_flash_command)); 
    70                 _view.side_page.erase_flash_clicked.connect (on_erase_flash_clicked); 
    71                 _view.side_page.write_fuses_clicked.connect (on_write_fuses_clicked); 
    72                 _view.side_page.read_fuses_clicked.connect (() => run_command (_current_programmer.read_fuses_command)); 
    73                 _view.side_page.get_version_clicked.connect (() => run_command (_current_programmer.get_version_command)); 
    74                 _view.side_page.stop_clicked.connect (() => _command.stop ()); 
     67                _view.write_flash_clicked.connect (on_write_flash_clicked); 
     68                _view.read_flash_clicked.connect (on_read_flash_clicked); 
     69                _view.verify_flash_clicked.connect (() => run_command (_current_programmer.verify_flash_command)); 
     70                _view.erase_flash_clicked.connect (on_erase_flash_clicked); 
     71                _view.write_fuses_clicked.connect (on_write_fuses_clicked); 
     72                _view.read_fuses_clicked.connect (() => run_command (_current_programmer.read_fuses_command)); 
     73                _view.get_version_clicked.connect (() => run_command (_current_programmer.get_version_command)); 
     74                _view.stop_clicked.connect (() => _command.stop ()); 
    7575                _command.stopped.connect (on_command_stopped); 
    7676                _command.stdout_message_added.connect ((message) => _view.log_page.add_line (message)); 
     
    8080        private void on_page_changed (PageIface? page) 
    8181        { 
    82                 _view.side_page.write_flash_sensitive = false; 
    83                 _view.side_page.verify_flash_sensitive = false; 
     82                _view.write_flash_sensitive = false; 
     83                _view.verify_flash_sensitive = false; 
    8484                 
    8585                if (page == null || _view.side_page.current_programmer == null) 
     
    8989                var programmer = I4uc.Settings.instance.programmers[_view.side_page.current_programmer]; 
    9090                 
    91                 _view.side_page.write_flash_sensitive = valid_page && programmer.can_write_flash; 
    92                 _view.side_page.verify_flash_sensitive = valid_page && programmer.can_verify_flash; 
     91                _view.write_flash_sensitive = valid_page && programmer.can_write_flash; 
     92                _view.verify_flash_sensitive = valid_page && programmer.can_verify_flash; 
    9393        } 
    9494         
     
    349349                        set_parameters_sensitive (false); 
    350350                        disable_actions (); 
    351                         _view.side_page.stop_sensitive = true; 
     351                        _view.stop_sensitive = true; 
    352352                } 
    353353                 
     
    396396                    return; 
    397397                 
    398                 _view.side_page.write_flash_sensitive = valid_page && _current_programmer.can_write_flash; 
    399                 _view.side_page.read_flash_sensitive = _current_programmer.can_read_flash; 
    400                 _view.side_page.verify_flash_sensitive = valid_page && _current_programmer.can_verify_flash; 
    401                 _view.side_page.erase_flash_sensitive = _current_programmer.can_erase_flash; 
    402                 _view.side_page.write_fuses_sensitive = valid_fuses && _current_programmer.can_write_fuses; 
    403                 _view.side_page.read_fuses_sensitive = _current_programmer.can_read_fuses; 
    404                 _view.side_page.get_version_sensitive = _current_programmer.can_get_version; 
    405                 _view.side_page.stop_sensitive = _command.is_running; 
     398                _view.write_flash_sensitive = valid_page && _current_programmer.can_write_flash; 
     399                _view.read_flash_sensitive = _current_programmer.can_read_flash; 
     400                _view.verify_flash_sensitive = valid_page && _current_programmer.can_verify_flash; 
     401                _view.erase_flash_sensitive = _current_programmer.can_erase_flash; 
     402                _view.write_fuses_sensitive = valid_fuses && _current_programmer.can_write_fuses; 
     403                _view.read_fuses_sensitive = _current_programmer.can_read_fuses; 
     404                _view.get_version_sensitive = _current_programmer.can_get_version; 
     405                _view.stop_sensitive = _command.is_running; 
    406406        } 
    407407         
    408408        private void disable_actions () 
    409409        { 
    410                 _view.side_page.write_flash_sensitive = false; 
    411                 _view.side_page.read_flash_sensitive = false; 
    412                 _view.side_page.verify_flash_sensitive = false; 
    413                 _view.side_page.erase_flash_sensitive = false; 
    414                 _view.side_page.write_fuses_sensitive = false; 
    415                 _view.side_page.read_fuses_sensitive = false; 
    416                 _view.side_page.get_version_sensitive = false; 
    417                 _view.side_page.stop_sensitive = false; 
     410                _view.write_flash_sensitive = false; 
     411                _view.read_flash_sensitive = false; 
     412                _view.verify_flash_sensitive = false; 
     413                _view.erase_flash_sensitive = false; 
     414                _view.write_fuses_sensitive = false; 
     415                _view.read_fuses_sensitive = false; 
     416                _view.get_version_sensitive = false; 
     417                _view.stop_sensitive = false; 
    418418        } 
    419419} 
  • libi4uc/i4ucprogrammerssidepage.vala

    rfed7687 rf7ca2a2  
    4141        private VBox _fuses_vbox = new VBox (false, 0); 
    4242         
    43         private Button _write_flash_button = new Button.with_label (_("Write flash")); 
    44         private Button _read_flash_button = new Button.with_label (_("Read flash")); 
    45         private Button _verify_flash_button = new Button.with_label (_("Verify flash")); 
    46         private Button _erase_flash_button = new Button.with_label (_("Erase flash")); 
    47         private Button _write_fuses_button = new Button.with_label (_("Write fuses")); 
    48         private Button _read_fuses_button = new Button.with_label (_("Read fuses")); 
    49         private Button _get_version_button = new Button.with_label (_("Get version")); 
    50         private Button _stop_button = new Button.with_label (_("Stop")); 
    51          
    5243        public string current_programmer 
    5344        { 
     
    180171                set { _fuses_vbox.sensitive = value; } 
    181172                get { return _fuses_vbox.sensitive; } 
    182         } 
    183          
    184         public bool write_flash_sensitive 
    185         { 
    186                 set { _write_flash_button.sensitive = value; } 
    187                 get { return _write_flash_button.sensitive; } 
    188         } 
    189          
    190         public bool read_flash_sensitive 
    191         { 
    192                 set { _read_flash_button.sensitive = value; } 
    193                 get { return _read_flash_button.sensitive; } 
    194         } 
    195          
    196         public bool verify_flash_sensitive 
    197         { 
    198                 set { _verify_flash_button.sensitive = value; } 
    199                 get { return _verify_flash_button.sensitive; } 
    200         } 
    201          
    202         public bool erase_flash_sensitive 
    203         { 
    204                 set { _erase_flash_button.sensitive = value; } 
    205                 get { return _erase_flash_button.sensitive; } 
    206         } 
    207          
    208         public bool write_fuses_sensitive 
    209         { 
    210                 set { _write_fuses_button.sensitive = value; } 
    211                 get { return _write_fuses_button.sensitive; } 
    212         } 
    213          
    214         public bool read_fuses_sensitive 
    215         { 
    216                 set { _read_fuses_button.sensitive = value; } 
    217                 get { return _read_fuses_button.sensitive; } 
    218         } 
    219          
    220         public bool get_version_sensitive 
    221         { 
    222                 set { _get_version_button.sensitive = value; } 
    223                 get { return _get_version_button.sensitive; } 
    224         } 
    225          
    226         public bool stop_sensitive 
    227         { 
    228                 set { _stop_button.sensitive = value; } 
    229                 get { return _stop_button.sensitive; } 
    230173        } 
    231174         
     
    258201                vbox.pack_start (_device_vbox, false, false, 4); 
    259202                vbox.pack_start (_fuses_vbox, false, false, 4); 
    260                  
    261                 vbox.pack_start (new HSeparator (), false, false, 7); 
    262                  
    263                 vbox.pack_start (_write_flash_button, false, false, 2); 
    264                 vbox.pack_start (_read_flash_button, false, false, 2); 
    265                 vbox.pack_start (_verify_flash_button, false, false, 2); 
    266                 vbox.pack_start (_erase_flash_button, false, false, 2); 
    267                 vbox.pack_start (_write_fuses_button, false, false, 2); 
    268                 vbox.pack_start (_read_fuses_button, false, false, 2); 
    269                 vbox.pack_start (_get_version_button, false, false, 2); 
    270                 vbox.pack_start (_stop_button, false, false, 2); 
    271203                 
    272204                var scrolled_window = new ScrolledWindow (null, null); 
     
    287219                _devices_combo.item_changed.connect (() => this.device_changed ()); 
    288220                _fuses_entry.changed.connect (() => this.fuses_changed ()); 
    289                 _write_flash_button.clicked.connect (() => this.write_flash_clicked ()); 
    290                 _read_flash_button.clicked.connect (() => this.read_flash_clicked ()); 
    291                 _verify_flash_button.clicked.connect (() => this.verify_flash_clicked ()); 
    292                 _erase_flash_button.clicked.connect (() => this.erase_flash_clicked ()); 
    293                 _write_fuses_button.clicked.connect (() => this.write_fuses_clicked ()); 
    294                 _read_fuses_button.clicked.connect (() => this.read_fuses_clicked ()); 
    295                 _get_version_button.clicked.connect (() => this.get_version_clicked ()); 
    296                 _stop_button.clicked.connect (() => this.stop_clicked ()); 
    297221        } 
    298222         
  • libi4uc/i4ucprogrammerssidepageiface.vala

    rfed7687 rf7ca2a2  
    4747        public abstract bool fuses_sensitive { set; get; } 
    4848         
    49         public abstract bool write_flash_sensitive { set; get; } 
    50         public abstract bool read_flash_sensitive { set; get; } 
    51         public abstract bool verify_flash_sensitive { set; get; } 
    52         public abstract bool erase_flash_sensitive { set; get; } 
    53         public abstract bool write_fuses_sensitive { set; get; } 
    54         public abstract bool read_fuses_sensitive { set; get; } 
    55         public abstract bool get_version_sensitive { set; get; } 
    56         public abstract bool stop_sensitive { set; get; } 
    57          
    5849        public signal void programmer_changed (); 
    5950        public signal void serial_port_changed (); 
     
    6657         
    6758        public signal void update_serial_port_clicked (); 
    68         public signal void write_flash_clicked (); 
    69         public signal void read_flash_clicked (); 
    70         public signal void verify_flash_clicked (); 
    71         public signal void erase_flash_clicked (); 
    72         public signal void write_fuses_clicked (); 
    73         public signal void read_fuses_clicked (); 
    74         public signal void get_version_clicked (); 
    75         public signal void stop_clicked (); 
    7659         
    7760        public abstract void add_programmer (string programmer); 
  • libi4uc/i4ucprogrammersview.vala

    r3c2306a rf7ca2a2  
    2323public class I4uc.ProgrammersView : GLib.Object, ProgrammersViewIface 
    2424{ 
     25        private UIManager _ui_manager; 
     26        private ActionGroup _action_group; 
    2527        private PagesPanel _pages_panel; 
    2628        private SidePanel _side_panel; 
     
    2830        private ProgrammersSidePage _side_page = new ProgrammersSidePage (); 
    2931        private LogPage _log_page = new LogPage (_("Message")); 
     32        private Action _write_flash_action; 
     33        private Action _read_flash_action; 
     34        private Action _verify_flash_action; 
     35        private Action _erase_flash_action; 
     36        private Action _write_fuses_action; 
     37        private Action _read_fuses_action; 
     38        private Action _get_version_action; 
     39        private Action _stop_action; 
    3040         
    3141        public PagesPanelIface pages_panel { get { return _pages_panel; } } 
     
    3343        public LogPageIface log_page { get { return _log_page; } } 
    3444         
    35         public ProgrammersView (PagesPanel pages_panel, SidePanel side_panel, BottomPanel bottom_panel) 
    36         { 
     45        public bool write_flash_sensitive 
     46        { 
     47                set { _write_flash_action.sensitive = value; } 
     48                get { return _write_flash_action.sensitive; } 
     49        } 
     50         
     51        public bool read_flash_sensitive 
     52        { 
     53                set { _read_flash_action.sensitive = value; } 
     54                get { return _read_flash_action.sensitive; } 
     55        } 
     56         
     57        public bool verify_flash_sensitive 
     58        { 
     59                set { _verify_flash_action.sensitive = value; } 
     60                get { return _verify_flash_action.sensitive; } 
     61        } 
     62         
     63        public bool erase_flash_sensitive 
     64        { 
     65                set { _erase_flash_action.sensitive = value; } 
     66                get { return _erase_flash_action.sensitive; } 
     67        } 
     68         
     69        public bool write_fuses_sensitive 
     70        { 
     71                set { _write_fuses_action.sensitive = value; } 
     72                get { return _write_fuses_action.sensitive; } 
     73        } 
     74         
     75        public bool read_fuses_sensitive 
     76        { 
     77                set { _read_fuses_action.sensitive = value; } 
     78                get { return _read_fuses_action.sensitive; } 
     79        } 
     80         
     81        public bool get_version_sensitive 
     82        { 
     83                set { _get_version_action.sensitive = value; } 
     84                get { return _get_version_action.sensitive; } 
     85        } 
     86         
     87        public bool stop_sensitive 
     88        { 
     89                set { _stop_action.sensitive = value; } 
     90                get { return _stop_action.sensitive; } 
     91        } 
     92         
     93        public ProgrammersView (UIManager ui_manager, PagesPanel pages_panel, SidePanel side_panel, BottomPanel bottom_panel) 
     94        { 
     95                _ui_manager = ui_manager; 
    3796                _pages_panel = pages_panel; 
    3897                _side_panel = side_panel; 
    3998                _bottom_panel = bottom_panel; 
     99                 
     100                _action_group = new ActionGroup ("I4ucProgrammersActions"); 
     101                _action_group.set_translation_domain (Config.GETTEXT_PACKAGE); 
     102                _action_group.add_actions (_action_entries, this); 
     103                 
     104                _ui_manager.insert_action_group (_action_group, -1); 
     105                 
     106                try 
     107                { 
     108                        _ui_manager.add_ui_from_string (_UI, -1); 
     109                } 
     110                catch (GLib.Error e) 
     111                { 
     112                        warning (e.message); 
     113                } 
     114                 
     115                _write_flash_action = _action_group.get_action ("WriteFlashProgrammerAction"); 
     116                _read_flash_action = _action_group.get_action ("ReadFlashProgrammerAction"); 
     117                _verify_flash_action = _action_group.get_action ("VerifyFlashProgrammerAction"); 
     118                _erase_flash_action = _action_group.get_action ("EraseFlashProgrammerAction"); 
     119                _write_fuses_action = _action_group.get_action ("WriteFusesProgrammerAction"); 
     120                _read_fuses_action = _action_group.get_action ("ReadFusesProgrammerAction"); 
     121                _get_version_action = _action_group.get_action ("GetVersionProgrammerAction"); 
     122                _stop_action = _action_group.get_action ("StopProgrammerAction"); 
     123                 
     124                var toolbar = (Toolbar)_ui_manager.get_widget ("/MainToolbar"); 
     125                Gtk.Callback non_homogeneous = (item) => { ((ToolItem)item).set_homogeneous (false); }; 
     126                toolbar.foreach (non_homogeneous); 
    40127                 
    41128                _side_panel.insert_page (_side_page, 1); 
     
    81168                dialog.destroy (); 
    82169        } 
     170         
     171        public void on_write_flash () 
     172        { 
     173                this.write_flash_clicked (); 
     174        } 
     175         
     176        public void on_read_flash () 
     177        { 
     178                this.read_flash_clicked (); 
     179        } 
     180         
     181        public void on_verify_flash () 
     182        { 
     183                this.verify_flash_clicked (); 
     184        } 
     185         
     186        public void on_erase_flash () 
     187        { 
     188                this.erase_flash_clicked (); 
     189        } 
     190         
     191        public void on_write_fuses () 
     192        { 
     193                this.write_fuses_clicked (); 
     194        } 
     195         
     196        public void on_read_fuses () 
     197        { 
     198                this.read_fuses_clicked (); 
     199        } 
     200         
     201        public void on_get_version () 
     202        { 
     203                this.get_version_clicked (); 
     204        } 
     205         
     206        public void on_stop () 
     207        { 
     208                this.stop_clicked (); 
     209        } 
     210         
     211        private const ActionEntry[] _action_entries = 
     212        { 
     213                { "ProgrammersMenuAction", null, N_("_Programmers") }, 
     214                { "WriteFlashProgrammerAction", "i4uc-write-flash", N_("Write flash"), null, N_("Write to flash memory"), on_write_flash }, 
     215                { "ReadFlashProgrammerAction", "i4uc-read-flash", N_("Read flash"), null, N_("Read flash memory"), on_read_flash }, 
     216                { "VerifyFlashProgrammerAction", "i4uc-verify-flash", N_("Verify flash"), null, N_("Verify flash memory"), on_verify_flash }, 
     217                { "EraseFlashProgrammerAction", "i4uc-erase-flash", N_("Erase flash"), null, N_("Erase flash memory"), on_erase_flash }, 
     218                { "WriteFusesProgrammerAction", null, N_("Write fuses"), null, N_("Write fuses"), on_write_fuses }, 
     219                { "ReadFusesProgrammerAction", null, N_("Read fuses"), null, N_("Read fuses"), on_read_fuses }, 
     220                { "GetVersionProgrammerAction", null, N_("Get version"), null, N_("Get version of programmer"), on_get_version }, 
     221                { "StopProgrammerAction", STOCK_STOP, N_("Stop"), "", N_("Stop programmer action"), on_stop } 
     222        }; 
     223         
     224        private const string _UI = """ 
     225<ui> 
     226        <menubar name="MainMenu"> 
     227                <placeholder name="MenuBarOps"> 
     228                        <menu name="ProgrammersMenu" action="ProgrammersMenuAction"> 
     229                                <menuitem action="WriteFlashProgrammerAction"/> 
     230                                <menuitem action="ReadFlashProgrammerAction"/> 
     231                                <menuitem action="VerifyFlashProgrammerAction"/> 
     232                                <menuitem action="EraseFlashProgrammerAction"/> 
     233                                <menuitem action="WriteFusesProgrammerAction"/> 
     234                                <menuitem action="ReadFusesProgrammerAction"/> 
     235                                <menuitem action="GetVersionProgrammerAction"/> 
     236                                <menuitem action="StopProgrammerAction"/> 
     237                        </menu> 
     238                </placeholder> 
     239        </menubar> 
     240        <toolbar name="MainToolbar"> 
     241                <placeholder name="ToolbarEndOps"> 
     242                        <separator/> 
     243                                <toolitem action="WriteFlashProgrammerAction"/> 
     244                                <toolitem action="ReadFlashProgrammerAction"/> 
     245                                <toolitem action="VerifyFlashProgrammerAction"/> 
     246                                <toolitem action="EraseFlashProgrammerAction"/> 
     247                                <toolitem action="StopProgrammerAction"/> 
     248                        <separator/> 
     249                </placeholder> 
     250        </toolbar> 
     251</ui>"""; 
    83252} 
  • libi4uc/i4ucprogrammersviewiface.vala

    r3c2306a rf7ca2a2  
    2727        public abstract LogPageIface log_page { get; } 
    2828         
     29        public abstract bool write_flash_sensitive { set; get; } 
     30        public abstract bool read_flash_sensitive { set; get; } 
     31        public abstract bool verify_flash_sensitive { set; get; } 
     32        public abstract bool erase_flash_sensitive { set; get; } 
     33        public abstract bool write_fuses_sensitive { set; get; } 
     34        public abstract bool read_fuses_sensitive { set; get; } 
     35        public abstract bool get_version_sensitive { set; get; } 
     36        public abstract bool stop_sensitive { set; get; } 
     37         
     38        public signal void write_flash_clicked (); 
     39        public signal void read_flash_clicked (); 
     40        public signal void verify_flash_clicked (); 
     41        public signal void erase_flash_clicked (); 
     42        public signal void write_fuses_clicked (); 
     43        public signal void read_fuses_clicked (); 
     44        public signal void get_version_clicked (); 
     45        public signal void stop_clicked (); 
     46         
    2947        public abstract int show_yes_no_message (string message, bool cancel = false); 
    3048        public abstract void show_log_page (); 
Note: See TracChangeset for help on using the changeset viewer.