/[eiffelstudio]/trunk/Src/Eiffel/interface/new_graphical/shared/editor_token_utility/eb_grid_editor_token_item.e
ViewVC logotype

Diff of /trunk/Src/Eiffel/interface/new_graphical/shared/editor_token_utility/eb_grid_editor_token_item.e

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

revision 71345 by paulb, Fri Jul 27 20:09:00 2007 UTC revision 71346 by paulb, Mon Dec 3 19:25:51 2007 UTC
# Line 72  feature{NONE} -- Initialization Line 72  feature{NONE} -- Initialization
72                          set_top_border (1)                          set_top_border (1)
73                          set_bottom_border (1)                          set_bottom_border (1)
74                          set_spacing (2)                          set_spacing (2)
75                            enable_full_select
76                          expose_actions.extend (agent perform_redraw)                          expose_actions.extend (agent perform_redraw)
77                          setting_change_actions.extend (agent safe_redraw)                          setting_change_actions.extend (agent safe_redraw)
78                          initialize_item                          initialize_item
# Line 138  feature -- Access Line 139  feature -- Access
139    
140  feature -- Status report  feature -- Status report
141    
142            is_full_select_enabled: BOOLEAN
143                            -- Does selection highlighting fill complete area of `Current'?
144                            -- If `False', highlighting is only applied to area of `text'.
145    
146          is_component_adhesive_enabled: BOOLEAN          is_component_adhesive_enabled: BOOLEAN
147                          -- Is component adhesive?                          -- Is component adhesive?
148                          -- component is adhesive means component appears right after text.                          -- component is adhesive means component appears right after text.
# Line 173  feature -- Status report Line 178  feature -- Status report
178    
179  feature -- Setting  feature -- Setting
180    
181            enable_full_select
182                            -- Ensure `is_full_select_enabled' is `True'.
183                    do
184                            lock_update
185                            is_full_select_enabled := True
186                            unlock_update
187                            try_call_setting_change_actions
188                    ensure
189                            is_full_select_enabled: is_full_select_enabled
190                    end
191    
192            disable_full_select
193                            -- Ensure `is_full_select_enabled' is `False'.
194                    do
195                            lock_update
196                            is_full_select_enabled := False
197                            unlock_update
198                            try_call_setting_change_actions
199                    ensure
200                            not_is_full_select_enabled: not is_full_select_enabled
201                    end
202    
203          set_pixmap (a_pixmap: EV_PIXMAP) is          set_pixmap (a_pixmap: EV_PIXMAP) is
204                          -- Display image of `a_pixmap' on `Current'.                          -- Display image of `a_pixmap' on `Current'.
205                  require                  require
# Line 333  feature -- Setting Line 360  feature -- Setting
360                  ensure                  ensure
361                          stone_function_set: stone_function = a_function                          stone_function_set: stone_function = a_function
362                  end                  end
363                    
364  feature -- Searchable  feature -- Searchable
365    
366          set_image (a_image: like image) is          set_image (a_image: like image) is
# Line 391  feature{NONE} -- Redraw Line 418  feature{NONE} -- Redraw
418                                  draw_pixmap (a_drawable, l_x_offset)                                  draw_pixmap (a_drawable, l_x_offset)
419                                  l_x_offset := pixmap.width + spacing                                  l_x_offset := pixmap.width + spacing
420                          end                          end
                                 -- Calculate text position and component position.  
421                          l_token_text := editor_token_text                          l_token_text := editor_token_text
422                            l_token_text.set_overriden_selection_colors (parent.focused_selection_color, parent.non_focused_selection_color)
423    
424                                    -- Calculate text position and component position.
425                          l_required_text_width := l_token_text.required_width                          l_required_text_width := l_token_text.required_width
426                          l_required_component_width := required_component_width                          l_required_component_width := required_component_width
427                          l_left_width := (width - l_x_offset - right_border - border_line_width).max (1)                          l_left_width := (width - l_x_offset - right_border - border_line_width).max (1)
# Line 459  feature{NONE} -- Redraw Line 488  feature{NONE} -- Redraw
488                  require                  require
489                          a_drawable_attached: a_drawable /= Void                          a_drawable_attached: a_drawable /= Void
490                  local                  local
                         l_editor_data: EB_EDITOR_DATA  
491                          l_parent: EV_GRID                          l_parent: EV_GRID
492                            l_gap: INTEGER
493                  do                  do
494                            if pixmap /= Void and then not is_full_select_enabled then
495                                            -- Determine selection render gap, and erase background
496                                    l_gap := pixmap.width + left_border + 2
497                                    a_drawable.set_foreground_color (parent.background_color)
498                                    a_drawable.fill_rectangle (0, 0, l_gap, height)
499                            end
500    
501                          l_parent := parent                          l_parent := parent
502                          if is_selected then                          if is_selected then
                                 l_editor_data := preferences.editor_data  
503                                  if l_parent.has_focus then                                  if l_parent.has_focus then
504                                          a_drawable.set_foreground_color (parent.focused_selection_color)                                          a_drawable.set_foreground_color (parent.focused_selection_color)
505                                  else                                  else
# Line 479  feature{NONE} -- Redraw Line 514  feature{NONE} -- Redraw
514                                          a_drawable.set_foreground_color (parent.background_color)                                          a_drawable.set_foreground_color (parent.background_color)
515                                  end                                  end
516                          end                          end
517                          a_drawable.fill_rectangle (0, 0, width, height)                          a_drawable.fill_rectangle (l_gap, 0, width, height)
518                  end                  end
519    
520  feature{NONE} -- Implementation  feature{NONE} -- Implementation
# Line 509  feature{NONE} -- Implementation Line 544  feature{NONE} -- Implementation
544                  require                  require
545                          not_destroyed: not is_destroyed                          not_destroyed: not is_destroyed
546                  do                  do
                         if editor_token_text_internal = Void then  
                                 create editor_token_text_internal  
                         end  
547                          Result := editor_token_text_internal                          Result := editor_token_text_internal
548                            if Result = Void then
549                                    create Result
550                                    editor_token_text_internal := Result
551                            end
552                  ensure                  ensure
553                          result_attached: Result /= Void                          result_attached: Result /= Void
554                            result_consistent: Result = editor_token_text
555                  end                  end
556    
557  feature -- Pick and drop  feature -- Pick and drop

Legend:
Removed from v.71345  
changed lines
  Added in v.71346

  ViewVC Help
Powered by ViewVC 1.1.23