Mercurial > MadButterfly
comparison pyink/FSM_window.py @ 1486:471805e582cc
Leave current mode when closing a FSM editor window
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sat, 30 Apr 2011 11:13:51 +0800 |
parents | 20cf6ea263c6 |
children | 3aba29609607 |
comparison
equal
deleted
inserted
replaced
1485:20cf6ea263c6 | 1486:471805e582cc |
---|---|
19 builder = gtk.Builder() | 19 builder = gtk.Builder() |
20 builder.add_from_file(fname) | 20 builder.add_from_file(fname) |
21 | 21 |
22 main_win = builder.get_object("FSM_main_win") | 22 main_win = builder.get_object("FSM_main_win") |
23 view_box = builder.get_object("view_box") | 23 view_box = builder.get_object("view_box") |
24 add_state_button = builder.get_object('add_state') | |
25 move_state_button = builder.get_object('move_state') | |
24 | 26 |
25 state_editor = builder.get_object("state_editor") | 27 state_editor = builder.get_object("state_editor") |
26 state_name = builder.get_object('state_name') | 28 state_name = builder.get_object('state_name') |
27 state_radius = builder.get_object('state_radius') | 29 state_radius = builder.get_object('state_radius') |
28 | 30 |
32 builder.connect_signals(self) | 34 builder.connect_signals(self) |
33 | 35 |
34 self._builder = builder | 36 self._builder = builder |
35 self._main_win = main_win | 37 self._main_win = main_win |
36 self._view_box = view_box | 38 self._view_box = view_box |
39 self._add_state_button = add_state_button | |
40 self._move_state_button = move_state_button | |
37 | 41 |
38 self._state_editor = state_editor | 42 self._state_editor = state_editor |
39 self._state_name = state_name | 43 self._state_name = state_name |
40 self._state_radius = state_radius | 44 self._state_radius = state_radius |
41 | 45 |
71 state_editor.hide() | 75 state_editor.hide() |
72 pass | 76 pass |
73 | 77 |
74 def show(self): | 78 def show(self): |
75 self._main_win.show() | 79 self._main_win.show() |
80 self._add_state_button.set_active(True) | |
76 pass | 81 pass |
77 | 82 |
78 def hide(self): | 83 def hide(self): |
79 self._main_win.hide() | 84 self._main_win.hide() |
80 pass | 85 pass |
706 | 711 |
707 control_layer = doc.createElement('svg:g') | 712 control_layer = doc.createElement('svg:g') |
708 control_layer.setAttribute('inkscape:groupmode', 'layer') | 713 control_layer.setAttribute('inkscape:groupmode', 'layer') |
709 root.appendChild(control_layer) | 714 root.appendChild(control_layer) |
710 self._control_layer = control_layer | 715 self._control_layer = control_layer |
711 | |
712 self._add_state_mode.activate() | |
713 pass | 716 pass |
714 | 717 |
715 def _doc(self): | 718 def _doc(self): |
716 view_widget = self._view_widget | 719 view_widget = self._view_widget |
717 view = view_widget.view | 720 view = view_widget.view |
762 pass | 765 pass |
763 | 766 |
764 def _emit_leave_mode(self): | 767 def _emit_leave_mode(self): |
765 if self._leave_mode_cb: | 768 if self._leave_mode_cb: |
766 self._leave_mode_cb() | 769 self._leave_mode_cb() |
770 self._leave_mode_cb = None | |
767 pass | 771 pass |
768 pass | 772 pass |
769 | 773 |
770 def ungrab_all(self): | 774 def ungrab_all(self): |
771 self.ungrab_bg() | 775 self.ungrab_bg() |
844 root.setAttribute('height', '768') | 848 root.setAttribute('height', '768') |
845 view.setResize(True, 800, 600) | 849 view.setResize(True, 800, 600) |
846 pass | 850 pass |
847 | 851 |
848 def on_close_window_activate(self, *args): | 852 def on_close_window_activate(self, *args): |
853 self._emit_leave_mode() | |
849 self._close_cb() | 854 self._close_cb() |
850 pass | 855 pass |
851 | 856 |
852 def on_FSM_main_win_destroy_event(self, *args): | 857 def on_FSM_main_win_destroy_event(self, *args): |
858 self._emit_leave_mode() | |
853 self._destroy_cb() | 859 self._destroy_cb() |
854 pass | 860 pass |
855 | 861 |
856 def on_FSM_main_win_delete_event(self, *args): | 862 def on_FSM_main_win_delete_event(self, *args): |
863 self._emit_leave_mode() | |
857 self._destroy_cb() | 864 self._destroy_cb() |
858 pass | 865 pass |
859 | 866 |
860 def on_add_state_toggled(self, *args): | 867 def on_add_state_toggled(self, *args): |
861 mode = self._add_state_mode | 868 mode = self._add_state_mode |
917 | 924 |
918 def show(self): | 925 def show(self): |
919 self._install_test_data() | 926 self._install_test_data() |
920 self._install_test_data = lambda: None | 927 self._install_test_data = lambda: None |
921 self._update_view() | 928 self._update_view() |
929 self._add_state_mode.activate() | |
922 super(FSM_window, self).show() | 930 super(FSM_window, self).show() |
923 pass | 931 pass |
924 | 932 |
925 def grab_mouse(self, callback): | 933 def grab_mouse(self, callback): |
926 assert self._grab_hdl is None | 934 assert self._grab_hdl is None |