/[eiffelstudio]/branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/windows/eb_development_window.e
ViewVC logotype

Diff of /branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/windows/eb_development_window.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 27549 by xavier, Wed Sep 12 01:07:54 2001 UTC revision 27840 by xavier, Thu Sep 20 23:34:05 2001 UTC
# Line 82  inherit Line 82  inherit
82                  redefine                  redefine
83                          on_text_reset, on_text_edited,                          on_text_reset, on_text_edited,
84                          on_selection_begun, on_selection_finished,                          on_selection_begun, on_selection_finished,
85                          on_text_back_to_its_last_saved_state                          on_text_back_to_its_last_saved_state,
86                            on_text_fully_loaded
87                    end
88    
89                    --| FIXME XR: To warn editor commands to refresh their state when the current editor changes.
90            TEXT_OBSERVER_MANAGER
91                    rename
92                            changed as text_changed,
93                            remove_observer as text_remove_observer,
94                            make as text_make
95                    undefine
96                            on_block_removed,
97                            on_line_inserted, on_line_modified, on_line_removed,
98                            on_selection_begun, on_selection_finished,
99                            on_text_back_to_its_last_saved_state,
100                            on_text_block_loaded,
101                            on_text_edited, on_text_fully_loaded, on_text_loaded, on_text_reset,
102                            recycle
103                  end                  end
104    
105          EB_FORMATTER_DATA          EB_FORMATTER_DATA
# Line 541  feature {NONE} -- Initialization Line 558  feature {NONE} -- Initialization
558                          editor_tool.text_area.add_edition_observer(save_as_cmd)                          editor_tool.text_area.add_edition_observer(save_as_cmd)
559                          editor_tool.text_area.add_edition_observer(print_cmd)                          editor_tool.text_area.add_edition_observer(print_cmd)
560                          editor_tool.text_area.add_edition_observer(Current)                          editor_tool.text_area.add_edition_observer(Current)
561                            editor_tool.text_area.drop_actions.set_veto_pebble_function (~can_drop)
562                          add_recyclable (editor_tool)                          add_recyclable (editor_tool)
563    
564                                  -- Build the context tool                                  -- Build the context tool
# Line 1115  feature -- Menu Building Line 1133  feature -- Menu Building
1133                          editor: EB_SMART_EDITOR                          editor: EB_SMART_EDITOR
1134                  do                  do
1135                          editor := editor_tool.text_area                          editor := editor_tool.text_area
1136                            create editor_commands.make (10)
1137    
1138                          create edit_menu.make_with_text (Interface_names.m_Edit)                          create edit_menu.make_with_text (Interface_names.m_Edit)
1139    
# Line 1152  feature -- Menu Building Line 1171  feature -- Menu Building
1171                                  -- Select all                                  -- Select all
1172                          create cmd.make                          create cmd.make
1173                          cmd.set_menu_name (Interface_names.m_select_all)                          cmd.set_menu_name (Interface_names.m_select_all)
1174                          cmd.add_agent (editor~select_all)                          cmd.add_agent (~select_all)
1175                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1176                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1177                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
# Line 1167  feature -- Menu Building Line 1186  feature -- Menu Building
1186                          cmd.add_agent (editor~search)                          cmd.add_agent (editor~search)
1187                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1188                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1189                            editor_commands.extend (cmd)
1190                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1191                          edit_menu.extend (command_menu_item)                          edit_menu.extend (command_menu_item)
1192    
# Line 1176  feature -- Menu Building Line 1196  feature -- Menu Building
1196                          cmd.add_agent (editor~replace)                          cmd.add_agent (editor~replace)
1197                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1198                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1199                            editor_commands.extend (cmd)
1200                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1201                          edit_menu.extend (command_menu_item)                          edit_menu.extend (command_menu_item)
1202    
# Line 1189  feature -- Menu Building Line 1210  feature -- Menu Building
1210                          cmd.add_agent (editor~find_next)                          cmd.add_agent (editor~find_next)
1211                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1212                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1213                            editor_commands.extend (cmd)
1214                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1215                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1216    
# Line 1198  feature -- Menu Building Line 1220  feature -- Menu Building
1220                          cmd.add_agent (editor~find_previous)                          cmd.add_agent (editor~find_previous)
1221                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1222                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1223                            editor_commands.extend (cmd)
1224                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1225                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1226    
# Line 1255  feature -- Menu Building Line 1278  feature -- Menu Building
1278                          cmd.add_agent (editor~comment_selection)                          cmd.add_agent (editor~comment_selection)
1279                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1280                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1281                            editor_commands.extend (cmd)
1282                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1283                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1284    
# Line 1263  feature -- Menu Building Line 1287  feature -- Menu Building
1287                          cmd.add_agent (editor~uncomment_selection)                          cmd.add_agent (editor~uncomment_selection)
1288                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1289                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1290                            editor_commands.extend (cmd)
1291                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1292                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1293    
# Line 1275  feature -- Menu Building Line 1300  feature -- Menu Building
1300                          cmd.add_agent (editor~embed_in_block("if  then", 3))                          cmd.add_agent (editor~embed_in_block("if  then", 3))
1301                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1302                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1303                            editor_commands.extend (cmd)
1304                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1305                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1306    
# Line 1284  feature -- Menu Building Line 1310  feature -- Menu Building
1310                          cmd.add_agent (editor~embed_in_block("debug", 5))                          cmd.add_agent (editor~embed_in_block("debug", 5))
1311                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1312                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1313                            editor_commands.extend (cmd)
1314                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
1315                          sub_menu.extend (command_menu_item)                          sub_menu.extend (command_menu_item)
1316    
# Line 1296  feature -- Menu Building Line 1323  feature -- Menu Building
1323                          cmd.set_menu_name (Interface_names.m_Complete_word + "%T" + Editor_preferences.shorcut_name_for_action (1))                          cmd.set_menu_name (Interface_names.m_Complete_word + "%T" + Editor_preferences.shorcut_name_for_action (1))
1324                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1325                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1326                            editor_commands.extend (cmd)
1327                          cmd.add_agent (editor~complete_feature_name)                          cmd.add_agent (editor~complete_feature_name)
1328    
1329                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
# Line 1306  feature -- Menu Building Line 1334  feature -- Menu Building
1334                          cmd.set_menu_name (Interface_names.m_Complete_class_name + "%T" + Editor_preferences.shorcut_name_for_action (2))                          cmd.set_menu_name (Interface_names.m_Complete_class_name + "%T" + Editor_preferences.shorcut_name_for_action (2))
1335                          command_menu_item := cmd.new_menu_item                          command_menu_item := cmd.new_menu_item
1336                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1337                            editor_commands.extend (cmd)
1338                          cmd.add_agent (editor~complete_feature_name)                          cmd.add_agent (editor~complete_feature_name)
1339    
1340                          add_recyclable (command_menu_item)                          add_recyclable (command_menu_item)
# Line 1322  feature -- Menu Building Line 1351  feature -- Menu Building
1351                          end                          end
1352                          formatting_marks_command_menu_item := cmd.new_menu_item                          formatting_marks_command_menu_item := cmd.new_menu_item
1353                          editor_tool.text_area.add_edition_observer(cmd)                          editor_tool.text_area.add_edition_observer(cmd)
1354                            editor_commands.extend (cmd)
1355                          cmd.add_agent (~toggle_formatting_marks)                          cmd.add_agent (~toggle_formatting_marks)
1356    
1357                          add_recyclable (formatting_marks_command_menu_item)                          add_recyclable (formatting_marks_command_menu_item)
# Line 2028  feature -- Multiple editor management Line 2058  feature -- Multiple editor management
2058                                  end                                  end
2059                          end                          end
2060                          update_paste_cmd                          update_paste_cmd
2061                            if current_editor.is_empty then
2062                                    from
2063                                            editor_commands.start
2064                                    until
2065                                            editor_commands.after
2066                                    loop
2067                                            editor_commands.item.on_text_reset
2068                                            editor_commands.forth
2069                                    end
2070                            else
2071                                    from
2072                                            editor_commands.start
2073                                    until
2074                                            editor_commands.after
2075                                    loop
2076                                            editor_commands.item.on_text_loaded
2077                                            editor_commands.forth
2078                                    end
2079                            end
2080                  end                  end
2081    
2082          on_selection_begun is          on_selection_begun is
# Line 2056  feature -- Multiple editor management Line 2105  feature -- Multiple editor management
2105                          txt: STRING                          txt: STRING
2106                  do                  do
2107                          txt := current_editor.clipboard.text                          txt := current_editor.clipboard.text
2108                          if current_editor.is_editable and then txt /= Void and then not txt.is_empty then                          if
2109                                    not current_editor.is_empty and then
2110                                    current_editor.is_editable and then
2111                                    txt /= Void and then
2112                                    not txt.is_empty
2113                            then
2114                                  editor_paste_cmd.enable_sensitive                                  editor_paste_cmd.enable_sensitive
2115                          else                          else
2116                                  editor_paste_cmd.disable_sensitive                                  editor_paste_cmd.disable_sensitive
# Line 2141  feature {NONE} -- Implementation Line 2195  feature {NONE} -- Implementation
2195                          class_text_exists: BOOLEAN                          class_text_exists: BOOLEAN
2196                          same_class: BOOLEAN                          same_class: BOOLEAN
2197                          test_stone: CLASSI_STONE                          test_stone: CLASSI_STONE
2198                            conv_ace: ACE_SYNTAX_STONE
2199                          str: STRING                          str: STRING
2200                  do                  do
2201                                  -- the text does not change if the text was saved with syntax errors                                  -- the text does not change if the text was saved with syntax errors
# Line 2157  feature {NONE} -- Implementation Line 2212  feature {NONE} -- Implementation
2212                    
2213                          conv_brkstone ?= a_stone                          conv_brkstone ?= a_stone
2214                          conv_errst ?= a_stone                          conv_errst ?= a_stone
2215                            conv_ace ?= a_stone
2216                          if conv_brkstone /= Void then                          if conv_brkstone /= Void then
2217                                  if Application.is_breakpoint_enabled (conv_brkstone.routine, conv_brkstone.index) then                                  if Application.is_breakpoint_enabled (conv_brkstone.routine, conv_brkstone.index) then
2218                                          Application.remove_breakpoint (conv_brkstone.routine, conv_brkstone.index)                                          Application.remove_breakpoint (conv_brkstone.routine, conv_brkstone.index)
# Line 2167  feature {NONE} -- Implementation Line 2223  feature {NONE} -- Implementation
2223                                  window_manager.quick_refresh_all                                  window_manager.quick_refresh_all
2224                          elseif conv_errst /= Void then                          elseif conv_errst /= Void then
2225                                  display_error_help_cmd.execute_with_stone (conv_errst)                                  display_error_help_cmd.execute_with_stone (conv_errst)
2226                            elseif conv_ace /= Void then
2227                                    --| FIXME XR: What should we do?!
2228                          else                          else
2229                                                                    
2230                                          -- Remember previous stone.                                          -- Remember previous stone.
# Line 2435  feature {NONE} -- Implementation Line 2493  feature {NONE} -- Implementation
2493                                  set_title (str)                                  set_title (str)
2494                          end                          end
2495                          address_manager.enable_formatters                          address_manager.enable_formatters
2496                            update_paste_cmd
2497                    end
2498    
2499            on_text_fully_loaded is
2500                            -- The main editor has just been reloaded.
2501                    do
2502                            update_paste_cmd
2503                  end                  end
2504    
2505          on_text_back_to_its_last_saved_state is          on_text_back_to_its_last_saved_state is
# Line 2519  feature {NONE} -- Implementation Line 2584  feature {NONE} -- Implementation
2584          saved_cursor: CURSOR          saved_cursor: CURSOR
2585                          -- Saved cursor position for displaying the stack.                          -- Saved cursor position for displaying the stack.
2586    
2587            can_drop (st: ANY): BOOLEAN is
2588                            -- Can the user drop the stone `st'?
2589                    local
2590                            conv_ace: ACE_SYNTAX_STONE
2591                    do
2592                            conv_ace ?= st
2593                            Result := conv_ace = Void
2594                    end
2595    
2596          quick_refresh_on_class_drop (unused: CLASSI_STONE) is          quick_refresh_on_class_drop (unused: CLASSI_STONE) is
2597                          -- Quick refresh all windows.                          -- Quick refresh all windows.
2598                  do                  do
# Line 2592  feature {NONE} -- Implementation Line 2666  feature {NONE} -- Implementation
2666                          end                          end
2667                  end                  end
2668    
2669    feature -- Implementation: Editor commands
2670    
2671            select_all is
2672                            -- Select the whole text in the focused editor.
2673                    do
2674                            current_editor.select_all
2675                    end
2676    
2677  feature {NONE} -- Implementation / Menus  feature {NONE} -- Implementation / Menus
2678    
2679          old_cur: EV_CURSOR          old_cur: EV_CURSOR
# Line 2675  feature {EB_TOOL} -- Implementation / Co Line 2757  feature {EB_TOOL} -- Implementation / Co
2757          toolbarable_commands: ARRAYED_LIST [EB_TOOLBARABLE_COMMAND]          toolbarable_commands: ARRAYED_LIST [EB_TOOLBARABLE_COMMAND]
2758                          -- All commands that can be put in a toolbar.                          -- All commands that can be put in a toolbar.
2759                    
2760            editor_commands: ARRAYED_LIST [EB_EDITOR_COMMAND]
2761                            -- Commands relative to the main editor.
2762            
2763          save_as_cmd: EB_SAVE_FILE_AS_COMMAND          save_as_cmd: EB_SAVE_FILE_AS_COMMAND
2764                          -- Command to save a class with a different file name.                          -- Command to save a class with a different file name.
2765    

Legend:
Removed from v.27549  
changed lines
  Added in v.27840

  ViewVC Help
Powered by ViewVC 1.1.23