/[eiffelstudio]/branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/commands/eb_toggle_labels_command.e
ViewVC logotype

Contents of /branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/commands/eb_toggle_labels_command.e

Parent Directory Parent Directory | Revision Log Revision Log


Revision 62171 - (show annotations)
Tue Aug 1 01:27:17 2006 UTC (13 years, 4 months ago) by larryl
File size: 3750 byte(s)
First commit docking tabbed Eiffel Studio.
1 indexing
2 description : "Command to change visibility of client links labels."
3 legal: "See notice at end of class."
4 status: "See notice at end of class."
5 date : "$Date$"
6 revision : "$Revision$"
7
8 class
9 EB_TOGGLE_LABELS_COMMAND
10
11 inherit
12 EB_CONTEXT_DIAGRAM_COMMAND
13 redefine
14 new_toolbar_item,
15 description,
16 initialize
17 end
18
19 EB_CONTEXT_DIAGRAM_TOGGLE_COMMAND
20
21 create
22 make
23
24 feature {NONE} -- Initialization
25
26 initialize is
27 -- Initialize default values.
28 do
29 create accelerator.make_with_key_combination (
30 create {EV_KEY}.make_with_code ({EV_KEY_CONSTANTS}.key_l),
31 True, False, False)
32 accelerator.actions.extend (agent execute)
33 end
34
35 feature -- Basic operations
36
37 execute is
38 -- Perform operation.
39 do
40 if is_sensitive then
41 if tool.world.is_labels_shown then
42 tool.world.hide_labels
43 disable_select
44 else
45 tool.world.show_labels
46 enable_select
47 end
48 tool.projector.full_project
49 end
50 end
51
52 new_toolbar_item (display_text: BOOLEAN): EB_COMMAND_TOGGLE_TOOL_BAR_BUTTON is
53 -- Create a new toolbar button for this command.
54 --
55 -- Call `recycle' on the result when you don't need it anymore otherwise
56 -- it will never be garbage collected.
57 do
58 create Result.make (Current)
59 current_button := Result
60 if tool.world.is_labels_shown then
61 Result.toggle
62 end
63 initialize_toolbar_item (Result, display_text)
64 Result.select_actions.extend (agent execute)
65 end
66
67 feature -- Access
68
69 tooltip: STRING is
70 -- Tooltip for the toolbar button.
71 do
72 if current_button.is_selected then
73 Result := Interface_names.f_diagram_hide_labels
74 else
75 Result := Interface_names.f_diagram_show_labels
76 end
77 end
78
79 feature {NONE} -- Implementation
80
81 pixmap: EV_PIXMAP is
82 -- Pixmap representing the command.
83 do
84 Result := pixmaps.icon_pixmaps.diagram_show_labels_icon
85 end
86
87 pixel_buffer: EV_PIXEL_BUFFER is
88 -- Pixel buffer representing the command.
89 do
90 -- Currently there is no pixel buffer for this command.
91 end
92
93 description: STRING is
94 -- Description for this command.
95 do
96 Result := Interface_names.l_diagram_labels_visibility
97 end
98
99 name: STRING is "Labels_visibility"
100 -- Name of the command. Used to store the command in the
101 -- preferences.
102
103 feature {EB_CONTEXT_EDITOR} -- Implementation
104
105 current_button: EB_COMMAND_TOGGLE_TOOL_BAR_BUTTON;
106 -- Current toggle button.
107
108 indexing
109 copyright: "Copyright (c) 1984-2006, Eiffel Software"
110 license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
111 licensing_options: "http://www.eiffel.com/licensing"
112 copying: "[
113 This file is part of Eiffel Software's Eiffel Development Environment.
114
115 Eiffel Software's Eiffel Development Environment is free
116 software; you can redistribute it and/or modify it under
117 the terms of the GNU General Public License as published
118 by the Free Software Foundation, version 2 of the License
119 (available at the URL listed under "license" above).
120
121 Eiffel Software's Eiffel Development Environment is
122 distributed in the hope that it will be useful, but
123 WITHOUT ANY WARRANTY; without even the implied warranty
124 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
125 See the GNU General Public License for more details.
126
127 You should have received a copy of the GNU General Public
128 License along with Eiffel Software's Eiffel Development
129 Environment; if not, write to the Free Software Foundation,
130 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
131 ]"
132 source: "[
133 Eiffel Software
134 356 Storke Road, Goleta, CA 93117 USA
135 Telephone 805-685-1006, Fax 805-685-6869
136 Website http://www.eiffel.com
137 Customer support http://support.eiffel.com
138 ]"
139
140 end -- class EB_TOGGLE_LABELS_COMMAND

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.23