How to use smart docking

Revision as of 17:02, 12 June 2006 by Larryl (Talk | contribs)

  • There is a simple docking project example, is in the SVN:

https://eiffelsoftware.origo.ethz.ch/svn/es/trunk/Src/examples/docking

 If you have checked out SVN codes, it's in your SVN_ROOT/examples/docking folder.

--- The client programmer only care about 4 classes in DOCKING LIBRARY.

  • SD_DOCKING_MANAGER
 This is the class which control the whole SMART DOCKING library.
 Client programmer should use it like this:
   manager: SD_DOCKING_MANAGER
   create manager.make (a_container_for_docking_manager, a_window_for_docking_manager)



  • SD_CONTENT
 This is the class which have the informations of client programmer want to put in the docking library.
 Client programmer should use it like this:
   content: SD_CONTENT
   create content.make (create {USER_CONTENT}, "A_unique_title")
   content.set_short_title ("A short title")
   content.set_long_title ("A long title")
   manager.contents.extend (content)
   -- You should call the following feature, otherwise the content will not visible.
   content.set_top ({SD_ENUMERATION}.top)

  • SD_ICONS_SINGLETON (deferred)
 This is the class which provide docking library pixmaps for icons or dragging feedback.
 Client programmer should inherit this class, to implement several once functions which provide EV_PIXMAPs
 like this:
   arrow_indicator_up: EV_PIXMAP is
     once
       create Result.default_create
       Result.set_with_named_file (".\arrow.png")
     end
   arrow_indicator_left: EV_PIXMAP is
     once
       create Result.default_create
       Result.set_with_named_file (".\arrow_left.png")
     end
   arrow_indicator_center: EV_PIXMAP is
     once
       create Result.default_create
       Result.set_with_named_file (".\arrow_center.png")
     end
   ....
 And you should call 'init' feature in SD_ICONS_SINGLETON, normally you can call it in the creation method of the SD_ICONS_SINGLETON implementation class.

  • SD_ENUMERATION
  This class only contain enumerations of Smart Docking library, such as direciton eumeration, SD_CONTENT type enumeration.