Difference between revisions of "How to use smart docking"

Line 53: Line 53:
  
 
* There is a simple docking project example, you can download it here:
 
* There is a simple docking project example, you can download it here:
 +
 +
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.

Revision as of 16:59, 12 June 2006

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)
   manager.add (a_content(see following))

  • 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_with_widget (create {USER_CONTENT})
   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
 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 implementation class.

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


  • There is a simple docking project example, you can download it here:

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.