Difference between revisions of "How to use smart docking"

(SD_CONTENT)
Line 14: Line 14:
 
This is the class which control the whole SMART DOCKING library.
 
This is the class which control the whole SMART DOCKING library.
 
Client programmer should use it like this:
 
Client programmer should use it like this:
 
+
<Eiffel>
  manager: SD_DOCKING_MANAGER
+
manager: SD_DOCKING_MANAGER
    create manager.make (a_container_for_docking_manager, a_window_for_docking_manager)
+
create manager.make (a_container_for_docking_manager, a_window_for_docking_manager)
 
+
</Eiffel>
  
 
== SD_CONTENT ==
 
== SD_CONTENT ==
Line 24: Line 24:
 
Client programmer should use it like this:
 
Client programmer should use it like this:
 
<Eiffel>
 
<Eiffel>
    content: SD_CONTENT
+
content: SD_CONTENT
    create content.make (create {USER_CONTENT}, "A_unique_title")
+
create content.make (create {USER_CONTENT}, "A_unique_title")
    content.set_short_title ("A short title")
+
content.set_short_title ("A short title")
    content.set_long_title ("A long title")
+
content.set_long_title ("A long title")
    manager.contents.extend (content)
+
manager.contents.extend (content)
    -- You should call the following feature, otherwise the content will not visible.
+
-- You should call the following feature, otherwise the content will not visible.
    content.set_top ({SD_ENUMERATION}.top)
+
content.set_top ({SD_ENUMERATION}.top)
 
</Eiffel>
 
</Eiffel>
 
For more information about SD_CONTENT, see [[How to use smart docking sd content]]
 
For more information about SD_CONTENT, see [[How to use smart docking sd content]]
Line 41: Line 41:
 
like this:
 
like this:
 
<Eiffel>
 
<Eiffel>
    arrow_indicator_up: EV_PIXMAP is
+
arrow_indicator_up: EV_PIXMAP is
      once
+
  once
        create Result.default_create
+
    create Result.default_create
        Result.set_with_named_file (".\arrow.png")
+
    Result.set_with_named_file (".\arrow.png")
      end
+
  end
    arrow_indicator_left: EV_PIXMAP is
+
arrow_indicator_left: EV_PIXMAP is
      once
+
  once
        create Result.default_create
+
    create Result.default_create
        Result.set_with_named_file (".\arrow_left.png")
+
    Result.set_with_named_file (".\arrow_left.png")
      end
+
  end
    arrow_indicator_center: EV_PIXMAP is
+
arrow_indicator_center: EV_PIXMAP is
      once
+
  once
        create Result.default_create
+
    create Result.default_create
        Result.set_with_named_file (".\arrow_center.png")
+
    Result.set_with_named_file (".\arrow_center.png")
      end
+
  end
 
     ....
 
     ....
 
</Eiffel>
 
</Eiffel>

Revision as of 19:44, 27 August 2007

  • 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. After complied, it should looks like figure 1.

How to use smart docking figure 1.png


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)

For more information about SD_CONTENT, see How to use smart docking sd content


  • SD_ICONS_SINGLETON (deferred)

This is the class which provide docking library pixmaps for icons or dragging feedback. By default, Smart Docking library provide embedded icons which can be used directly without any changes. But if you want to customize your icons, you 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.

For more informations about SD_ENUMERATION, see How to use smart docking sd enumeration