/[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 55044 by jfiat, Wed Oct 12 10:12:03 2005 UTC revision 55179 by tedf, Fri Oct 14 19:32:57 2005 UTC
# Line 24  inherit Line 24  inherit
24                          refresh,                          refresh,
25                          recycle,                          recycle,
26                          destroy_imp,                          destroy_imp,
27                          destroy                          destroy,
28                            position,
29                            pos_container
30                  end                  end
31    
32          EB_FILEABLE          EB_FILEABLE
33                    export {NONE}
34                            set_position,
35                            set_pos_container
36                  redefine                  redefine
37                          set_stone,                          set_stone,
38                          reset,                          reset,
# Line 35  inherit Line 40  inherit
40                          on_text_saved,                          on_text_saved,
41                          perform_check_before_save,                          perform_check_before_save,
42                          check_passed,                          check_passed,
43                          update_save_symbol                          update_save_symbol,
44                            position,
45                            pos_container
46                  select                  select
47                          set_stone                          set_stone
48                  end                  end
# Line 44  inherit Line 51  inherit
51                  rename                  rename
52                          set_stone as old_set_stone                          set_stone as old_set_stone
53                  export {NONE}                  export {NONE}
54                          old_set_stone                          old_set_stone,
55                            set_position,
56                            set_pos_container
57                  redefine                  redefine
58                          reset,                          reset,
59                          stone,                          stone,
60                          on_text_saved,                          on_text_saved,
61                          perform_check_before_save,                          perform_check_before_save,
62                          check_passed,                          check_passed,
63                          update_save_symbol                          update_save_symbol,
64                            position,
65                            pos_container
66                  end                  end
67    
68    
# Line 575  feature {NONE} -- Initialization Line 586  feature {NONE} -- Initialization
586                          show_tool_commands.extend (show_cmd)                          show_tool_commands.extend (show_cmd)
587                          toolbarable_commands.extend (show_cmd)                          toolbarable_commands.extend (show_cmd)
588                          add_recyclable (windows_tool)                          add_recyclable (windows_tool)
589                            
590                                    -- Build the search tool
591                            create {EB_MULTI_SEARCH_TOOL}search_tool.make (Current)
592                            search_tool.attach_to_explorer_bar (right_panel)
593                            bottom_tools.extend (search_tool.explorer_bar_item)
594                            create show_cmd.make (Current, search_tool.explorer_bar_item)
595                            show_tool_commands.extend (show_cmd)
596                            toolbarable_commands.extend (show_cmd)
597                            add_recyclable (search_tool)
598    
599                                  -- Build the editor tool                                  -- Build the editor tool
600                          create editor_tool.make (Current)                          create editor_tool.make (Current)
# Line 584  feature {NONE} -- Initialization Line 604  feature {NONE} -- Initialization
604                          editor_tool.text_area.add_edition_observer(save_as_cmd)                          editor_tool.text_area.add_edition_observer(save_as_cmd)
605                          editor_tool.text_area.add_edition_observer(print_cmd)                          editor_tool.text_area.add_edition_observer(print_cmd)
606                          editor_tool.text_area.add_edition_observer(Current)                          editor_tool.text_area.add_edition_observer(Current)
607                            editor_tool.text_area.add_edition_observer(search_tool)
608                          editor_tool.text_area.drop_actions.set_veto_pebble_function (agent can_drop)                          editor_tool.text_area.drop_actions.set_veto_pebble_function (agent can_drop)
609                          editor_tool.text_area.add_cursor_observer (Current)                          editor_tool.text_area.add_cursor_observer (Current)
610                            create show_cmd.make(Current, editor_tool.explorer_bar_item)
611                            show_tool_commands.extend (show_cmd)
612                            toolbarable_commands.extend (show_cmd)
613    
614                                  -- The minimim height masks a bug on windows to do with the sizing of the editors                                  -- The minimim height masks a bug on windows to do with the sizing of the editors
615                                  -- scroll bars, which were affecting the resizing although they should not have done so.                                  -- scroll bars, which were affecting the resizing although they should not have done so.
# Line 602  feature {NONE} -- Initialization Line 626  feature {NONE} -- Initialization
626                          toolbarable_commands.extend (show_cmd)                          toolbarable_commands.extend (show_cmd)
627                          add_recyclable (context_tool)                          add_recyclable (context_tool)
628    
                                 -- Build the search tool  
                         create {EB_MULTI_SEARCH_TOOL}search_tool.make (Current)  
                         search_tool.attach_to_explorer_bar (left_panel)  
                         bottom_tools.extend (search_tool.explorer_bar_item)  
                         create show_cmd.make (Current, search_tool.explorer_bar_item)  
                         show_tool_commands.extend (show_cmd)  
                         toolbarable_commands.extend (show_cmd)  
                         editor_tool.text_area.add_edition_observer(search_tool)  
                         add_recyclable (search_tool)  
   
629                                  -- Set the flag "Tools initialized"                                  -- Set the flag "Tools initialized"
630                          tools_initialized := True                          tools_initialized := True
631    
# Line 1878  feature -- Stone process Line 1892  feature -- Stone process
1892                          same_class: BOOLEAN                          same_class: BOOLEAN
1893                          conv_ferrst: FEATURE_ERROR_STONE                          conv_ferrst: FEATURE_ERROR_STONE
1894                          ef_stone: EXTERNAL_FILE_STONE                          ef_stone: EXTERNAL_FILE_STONE
1895                            cluster_st: CLUSTER_STONE
1896                            new_class_stone: CLASSI_STONE
1897                            conv_ace: ACE_SYNTAX_STONE
1898                            conv_errst: ERROR_STONE
1899                            conv_brkstone: BREAKABLE_STONE
1900                  do                  do
1901                          old_class_stone ?= stone                          old_class_stone ?= stone
1902                          feature_stone ?= a_stone                          feature_stone ?= a_stone
1903                          ef_stone ?= a_stone                          ef_stone ?= a_stone
1904                            new_class_stone ?= a_stone
1905                            cluster_st ?= a_stone
1906                            
1907                                    -- Update the history.
1908                            conv_brkstone ?= a_stone
1909                            conv_errst ?= a_stone
1910                            conv_ace ?= a_stone
1911                            if
1912                                    conv_brkstone = Void and
1913                                    conv_errst = Void and
1914                                    conv_ace = Void and
1915                                    ef_stone = Void
1916                            then
1917                                    if
1918                                            new_class_stone /= Void
1919                                    then
1920                                            history_manager.extend (new_class_stone)
1921                                    elseif
1922                                            cluster_st /= Void
1923                                    then
1924                                            history_manager.extend (cluster_st)
1925                                    end
1926                            end
1927                            
1928                          if old_class_stone /= Void then                          if old_class_stone /= Void then
1929                                  create test_stone.make (old_class_stone.class_i)                                  create test_stone.make (old_class_stone.class_i)
1930                                  same_class := test_stone.same_as (a_stone)                                  same_class := test_stone.same_as (a_stone)
# Line 2028  feature -- Stone process Line 2071  feature -- Stone process
2071          --| END FIXME          --| END FIXME
2072                  end                  end
2073    
2074    feature -- Position provider
2075    
2076            position: like position_internal is
2077                            -- Currently shown text position in the editor
2078                    do
2079                            Result := editor_tool.text_area.first_line_displayed
2080                    end    
2081                    
2082            pos_container: like pos_container_internal is
2083                            -- Current selected formatter
2084                    local
2085                            l_end : BOOLEAN
2086                    do
2087                            from
2088                                    managed_main_formatters.start
2089                            until
2090                                    managed_main_formatters.after or l_end
2091                            loop
2092                                    if managed_main_formatters.item.selected then
2093                                            l_end := true
2094                                            Result := managed_main_formatters.item
2095                                    end
2096                                    managed_main_formatters.forth
2097                            end
2098                    end
2099    
2100  feature -- Resource Update  feature -- Resource Update
2101    
2102          update is          update is
# Line 2522  feature {NONE} -- Implementation Line 2591  feature {NONE} -- Implementation
2591                          conv_classc: CLASSC_STONE                          conv_classc: CLASSC_STONE
2592                          conv_brkstone: BREAKABLE_STONE                          conv_brkstone: BREAKABLE_STONE
2593                          cluster_st: CLUSTER_STONE                          cluster_st: CLUSTER_STONE
2594                            old_cluster_st: CLUSTER_STONE
2595                          feature_stone: FEATURE_STONE                          feature_stone: FEATURE_STONE
2596                          conv_ferrst: FEATURE_ERROR_STONE                          conv_ferrst: FEATURE_ERROR_STONE
2597    
# Line 2543  feature {NONE} -- Implementation Line 2613  feature {NONE} -- Implementation
2613                          dotnet_class: BOOLEAN                          dotnet_class: BOOLEAN
2614                          l_short_formatter: EB_SHORT_FORMATTER                          l_short_formatter: EB_SHORT_FORMATTER
2615                          l_flat_formatter: EB_FLAT_SHORT_FORMATTER                          l_flat_formatter: EB_FLAT_SHORT_FORMATTER
2616                            l_main_formatter: EB_CLASS_TEXT_FORMATTER
2617                  do                  do
2618                                  -- 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
2619                          cur_wid := window                          cur_wid := window
# Line 2581  feature {NONE} -- Implementation Line 2652  feature {NONE} -- Implementation
2652                                          -- Remember previous stone.                                          -- Remember previous stone.
2653                                  old_stone := stone                                  old_stone := stone
2654                                  old_class_stone ?= stone                                  old_class_stone ?= stone
2655                                    old_cluster_st ?= stone
2656    
2657                                          -- New stone properties                                          -- New stone properties
2658                                  new_class_stone ?= a_stone                                  new_class_stone ?= a_stone
# Line 2601  feature {NONE} -- Implementation Line 2673  feature {NONE} -- Implementation
2673                                          favorites_menu.first.disable_sensitive                                          favorites_menu.first.disable_sensitive
2674                                  end                                  end
2675    
                                         -- Update the history.  
                                 if  
                                         new_class_stone /= Void  
                                 then  
                                         history_manager.extend (new_class_stone)  
                                 elseif  
                                         cluster_st /= Void  
                                 then  
                                         history_manager.extend (cluster_st)  
                                 end  
2676                                          -- Update the address manager if needed.                                          -- Update the address manager if needed.
2677                                  address_manager.refresh                                  address_manager.refresh
2678                                  if new_class_stone /= Void then                                  if new_class_stone /= Void then
# Line 2643  feature {NONE} -- Implementation Line 2705  feature {NONE} -- Implementation
2705                                                          end                                                          end
2706                                                  end                                                  end
2707                                          end                                          end
2708                                            
2709                                          conv_classc ?= new_class_stone                                          conv_classc ?= new_class_stone
2710    
2711                                                    -- First choose possible formatter
2712                                            l_main_formatter ?= new_class_stone.pos_container
2713                                            if l_main_formatter /= Void and not during_synchronization then
2714                                                    if
2715                                                            not (conv_classc /= Void and class_text_exists and (not changed or not same_class))
2716                                                    then
2717                                                            l_main_formatter.enable_select
2718                                                    elseif feature_stone = Void then                                
2719                                                            if l_main_formatter /= pos_container then
2720                                                                    l_main_formatter.enable_select
2721                                                            end
2722                                                            editor_tool.text_area.display_line_at_top_when_ready (new_class_stone.position)
2723                                                    end
2724                                            end
2725                                            
2726                                          if conv_classc = Void or else                                          if conv_classc = Void or else
2727                                                  conv_classc.e_class.is_external or else                                                  conv_classc.e_class.is_external or else
2728                                                  feature_stone /= Void and not                                                  feature_stone /= Void and not
# Line 2764  feature {NONE} -- Implementation Line 2842  feature {NONE} -- Implementation
2842          --| FIXME XR: Really manage cluster display in the main editor          --| FIXME XR: Really manage cluster display in the main editor
2843                                                  l_format_context := formatted_context_for_cluster (cluster_st.cluster_i)                                                  l_format_context := formatted_context_for_cluster (cluster_st.cluster_i)
2844                                                  editor_tool.text_area.process_text (l_format_context.text)                                                  editor_tool.text_area.process_text (l_format_context.text)
2845                                                    if cluster_st.position > 0 then
2846                                                            editor_tool.text_area.display_line_at_top_when_ready (cluster_st.position)
2847                                                    end
2848          --| END FIXME          --| END FIXME
2849                                          end                                          end
2850                                  end                                  end

Legend:
Removed from v.55044  
changed lines
  Added in v.55179

  ViewVC Help
Powered by ViewVC 1.1.23