Is a Class diagram of catalyst avaliable ? [message #86188] |
Thu, 17 October 2013 01:37  |
Jie Zhou
Messages: 27 Registered: February 2014
|
Junior Member |
|
|
Lately, I begin to try catalyst library. I find the objects make widget graphic more simple. But there are so many different object define code (CLASS). Maybe a Class diagram can make things more convenient.
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #86189 is a reply to message #86188] |
Thu, 17 October 2013 04:47   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Jie Zhou writes:
> Lately, I begin to try catalyst library. I find the objects make widget graphic more simple. But there are so many different object define code (CLASS). Maybe a Class diagram can make things more convenient.
There is no class diagram available. There is a Document method built
into every object created in the library. If called on the top-level
base object, it will produce HTML documentation of all of the objects
used in the application. This is how the HTML documentation in the docs
directory of the Catalyst Library were created.
There are many objects, but the object hierarchy is, by virtue of the
way IDL implements objects, pretty shallow. In the case of widgets, most
common widget functionality (i.e., functionality belong to all widgets)
is built into the WidgetAtom object. Then, the specifics of each type of
object is built into each individual object (e.g., ListWidget,
TextWidget, etc.). Each widget object also inherits the CatAtom object,
which is the fundamental object *all* objects inherit. This has all the
communication infrastructure for the Catalyst Library built into it.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thue. ("Perhaps thou speakest truth.")
|
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #86193 is a reply to message #86191] |
Thu, 17 October 2013 05:23   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Fabien writes:
>> the object hierarchy is, by virtue of the
>> way IDL implements objects, pretty shallow
>
> What do you mean with that?
I mean that because IDL objects are implemented as named structures,
which require UNIQUELY named fields, you can't inherit too many objects
before you run into name conflicts. (There are only so many good names
for an "image", for example.) This tends to keep object hierarchies
extremely shallow in practice, unless the programmer has incredible and
extraordinary foresight. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thue. ("Perhaps thou speakest truth.")
|
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #86216 is a reply to message #86191] |
Fri, 18 October 2013 01:50   |
Jie Zhou
Messages: 27 Registered: February 2014
|
Junior Member |
|
|
On Thursday, October 17, 2013 2:02:50 PM UTC+2, Fabien wrote:
> Hi,
>
>
>
> On 10/17/2013 01:47 PM, David Fanning wrote:
>
>> the object hierarchy is, by virtue of the
>
>> way IDL implements objects, pretty shallow
>
>
>
> What do you mean with that?
>
>
>
> Speaking of Class diagrams... I remember the old java days when I could
>
> click one button and it would generate a class diagram in Eclipse
>
> automatically. IT never worked perfectly but it was a great basis to
>
> start with.
>
>
>
> I assume nobody ever tried to generate class diagrams automatically from
>
> IDL code? That could be a cool thing to have ;-)
What I mean is a Hierarchy Chart like MFC Hierarchy Chart given by Microsoft, you can link to:
http://msdn.microsoft.com/en-us/library/ws8s10w4.aspx
I think it make things more clear, especially for a new learner.
Thanks.
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #86217 is a reply to message #86215] |
Fri, 18 October 2013 01:54   |
Jie Zhou
Messages: 27 Registered: February 2014
|
Junior Member |
|
|
On Friday, October 18, 2013 12:33:58 AM UTC+2, Doug Edmundson wrote:
> On 10/17/13 2:37 AM, Jie Zhou wrote:
>
>> Lately, I begin to try catalyst library. I find the objects make
>
> widget graphic more simple. But there are so many different object define
>
> code (CLASS). Maybe a Class diagram can make things more convenient.
>
>>
>
>
>
> The IDL workbench has a "class hierarchy" window that lets one navigate
>
> up, down and within a class. One can examine sub and super-classes and
>
> jump around in the code.
>
>
>
> To show the window, go to the Windows menu and select "Class Hierarchy".
>
> Here are some docs on it:
>
>
>
> http://www.exelisvis.com/docs/ClassHierarchy.html
>
>
>
> Cheers,
>
> Doug
Wow, it's a good tool. But the tool only available after version 8.2, so I don't know about it before. And in fact what I need is a Hierarchy Chart like this:
http://msdn.microsoft.com/en-us/library/ws8s10w4.aspx
Thanks.
Jie
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #86304 is a reply to message #86189] |
Thu, 24 October 2013 11:23   |
Jie Zhou
Messages: 27 Registered: February 2014
|
Junior Member |
|
|
On Thursday, October 17, 2013 1:47:59 PM UTC+2, David Fanning wrote:
> Jie Zhou writes:
>
>
>
>> Lately, I begin to try catalyst library. I find the objects make widget graphic more simple. But there are so many different object define code (CLASS). Maybe a Class diagram can make things more convenient.
>
>
>
> There is no class diagram available. There is a Document method built
>
> into every object created in the library. If called on the top-level
>
> base object, it will produce HTML documentation of all of the objects
>
> used in the application. This is how the HTML documentation in the docs
>
> directory of the Catalyst Library were created.
>
>
>
> There are many objects, but the object hierarchy is, by virtue of the
>
> way IDL implements objects, pretty shallow. In the case of widgets, most
>
> common widget functionality (i.e., functionality belong to all widgets)
>
> is built into the WidgetAtom object. Then, the specifics of each type of
>
> object is built into each individual object (e.g., ListWidget,
>
> TextWidget, etc.). Each widget object also inherits the CatAtom object,
>
> which is the fundamental object *all* objects inherit. This has all the
>
> communication infrastructure for the Catalyst Library built into it.
>
>
>
> Cheers,
>
>
>
> David
>
>
>
>
>
> --
>
> David Fanning, Ph.D.
>
> Fanning Software Consulting, Inc.
>
> Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
>
> Sepore ma de ni thue. ("Perhaps thou speakest truth.")
Here I list a class structure of CATALYST library (it's what i mean the class diagram):
IDL_CONTAINER
CATCONTAINER
(IDLitComponent)
CATATOM
CATCOLORS
COLORTOOL
CATLAYER
IMAGECONTAINER
CatToolList
SELECTINTERACTION
IMGAXES
MAP_GRID
MAP_OUTLINE
MAP_PLOTS
MAP_VECTOR
CATOBJECTVIEW
CATSURFACE
WIDGETATOM
LABELWIDGET
STATUSBAR
buttonWidget
MENUBARWIDGET
PROPERTYSHEETWIDGET
sliderWidget
TABWIDGET
TextWidget
TREEWIDGET
DrawWidget
ODrawWidget
SelectableDrawWidget
BASEWIDGET
CONTEXTMENUBASE
COMBOBOXWIDGET
CT_STRETCH
CW_HISTOSTRETCH
DrawButtonWidget
DROPLISTWIDGET
FIELDWIDGET
IMAGESTRIP
LISTWIDGET
SPINNER
CatControlPanel
TopLevelBase
CatGraphicsWindow
PixmapWidget
PROPERTYPANEL
VIEWCONTENTS
CATDATAATOM
SELECTABLEOBJECT
ANGLETOOL
BOX
CAT_ARROW
CAT_ELLIPSE
CAT_POLYGON
CATCOLORBAR
RULER
SELECTABLEGROUP
TAPEMEASURE
TEXTLINE
CatImage
SCALEIMAGE
CATIMAGE2D
CatImageData
CATTRUECOLORIMAGE
ImageFrame
IMAGESTACK
CATTOOL
CATGRAPHICSCMDTOOL
CATIPTOOL
INTERACTION
RUBBERBANDBOX
MOVEABLEBOX
CONTRASTBOX
ELLIPSE_ROI
FREEHAND_ROI
POLYGON_ROI
MEASUREINTERACTION
ANNOTATEINTERACTION
CatList
CatListValue
cat_trackball
|
|
|
|
|
Re: Is a Class diagram of catalyst avaliable ? [message #87888 is a reply to message #86304] |
Mon, 03 March 2014 07:21  |
Jie Zhou
Messages: 27 Registered: February 2014
|
Junior Member |
|
|
On Thursday, October 24, 2013 8:23:33 PM UTC+2, Jie Zhou wrote:
> On Thursday, October 17, 2013 1:47:59 PM UTC+2, David Fanning wrote:
>
>> Jie Zhou writes:
>
>>
>
>>
>
>>
>
>>> Lately, I begin to try catalyst library. I find the objects make widget graphic more simple. But there are so many different object define code (CLASS). Maybe a Class diagram can make things more convenient.
>
>>
>
>>
>
>>
>
>> There is no class diagram available. There is a Document method built
>
>>
>
>> into every object created in the library. If called on the top-level
>
>>
>
>> base object, it will produce HTML documentation of all of the objects
>
>>
>
>> used in the application. This is how the HTML documentation in the docs
>
>>
>
>> directory of the Catalyst Library were created.
>
>>
>
>>
>
>>
>
>> There are many objects, but the object hierarchy is, by virtue of the
>
>>
>
>> way IDL implements objects, pretty shallow. In the case of widgets, most
>
>>
>
>> common widget functionality (i.e., functionality belong to all widgets)
>
>>
>
>> is built into the WidgetAtom object. Then, the specifics of each type of
>
>>
>
>> object is built into each individual object (e.g., ListWidget,
>
>>
>
>> TextWidget, etc.). Each widget object also inherits the CatAtom object,
>
>>
>
>> which is the fundamental object *all* objects inherit. This has all the
>
>>
>
>> communication infrastructure for the Catalyst Library built into it.
>
>>
>
>>
>
>>
>
>> Cheers,
>
>>
>
>>
>
>>
>
>> David
>
>>
>
>>
>
>>
>
>>
>
>>
>
>> --
>
>>
>
>> David Fanning, Ph.D.
>
>>
>
>> Fanning Software Consulting, Inc.
>
>>
>
>> Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
>
>>
>
>> Sepore ma de ni thue. ("Perhaps thou speakest truth.")
>
>
>
> Here I list a class structure of CATALYST library (it's what i mean the class diagram):
>
> IDL_CONTAINER
>
> CATCONTAINER
>
> (IDLitComponent)
>
> CATATOM
>
> CATCOLORS
>
> COLORTOOL
>
> CATLAYER
>
> IMAGECONTAINER
>
> CatToolList
>
> SELECTINTERACTION
>
> IMGAXES
>
> MAP_GRID
>
> MAP_OUTLINE
>
> MAP_PLOTS
>
> MAP_VECTOR
>
> CATOBJECTVIEW
>
> CATSURFACE
>
> WIDGETATOM
>
> LABELWIDGET
>
> STATUSBAR
>
> buttonWidget
>
> MENUBARWIDGET
>
> PROPERTYSHEETWIDGET
>
> sliderWidget
>
> TABWIDGET
>
> TextWidget
>
> TREEWIDGET
>
> DrawWidget
>
> ODrawWidget
>
> SelectableDrawWidget
>
> BASEWIDGET
>
> CONTEXTMENUBASE
>
> COMBOBOXWIDGET
>
> CT_STRETCH
>
> CW_HISTOSTRETCH
>
> DrawButtonWidget
>
> DROPLISTWIDGET
>
> FIELDWIDGET
>
> IMAGESTRIP
>
> LISTWIDGET
>
> SPINNER
>
> CatControlPanel
>
> TopLevelBase
>
> CatGraphicsWindow
>
> PixmapWidget
>
> PROPERTYPANEL
>
> VIEWCONTENTS
>
> CATDATAATOM
>
> SELECTABLEOBJECT
>
> ANGLETOOL
>
> BOX
>
> CAT_ARROW
>
> CAT_ELLIPSE
>
> CAT_POLYGON
>
> CATCOLORBAR
>
> RULER
>
> SELECTABLEGROUP
>
> TAPEMEASURE
>
> TEXTLINE
>
> CatImage
>
> SCALEIMAGE
>
> CATIMAGE2D
>
> CatImageData
>
> CATTRUECOLORIMAGE
>
> ImageFrame
>
> IMAGESTACK
>
> CATTOOL
>
> CATGRAPHICSCMDTOOL
>
> CATIPTOOL
>
> INTERACTION
>
> RUBBERBANDBOX
>
> MOVEABLEBOX
>
> CONTRASTBOX
>
> ELLIPSE_ROI
>
> FREEHAND_ROI
>
> POLYGON_ROI
>
> MEASUREINTERACTION
>
> ANNOTATEINTERACTION
>
> CatList
>
> CatListValue
>
> cat_trackball
I miss two objects: CATCOORD and MAPCOORD.
The updated one should be:
IDL_CONTAINER
CATCONTAINER
(IDLitComponent)
CATATOM
CATCOLORS
COLORTOOL
CATLAYER
IMAGECONTAINER
CatToolList
SELECTINTERACTION
IMGAXES
CATCOORD
MAPCOORD
MAP_GRID
MAP_OUTLINE
MAP_PLOTS
MAP_VECTOR
CATOBJECTVIEW
CATSURFACE
WIDGETATOM
LABELWIDGET
STATUSBAR
buttonWidget
MENUBARWIDGET
PROPERTYSHEETWIDGET
sliderWidget
TABWIDGET
TextWidget
TREEWIDGET
DrawWidget
ODrawWidget
SelectableDrawWidget
BASEWIDGET
CONTEXTMENUBASE
COMBOBOXWIDGET
CT_STRETCH
CW_HISTOSTRETCH
DrawButtonWidget
DROPLISTWIDGET
FIELDWIDGET
IMAGESTRIP
LISTWIDGET
SPINNER
CatControlPanel
TopLevelBase
CatGraphicsWindow
PixmapWidget
PROPERTYPANEL
VIEWCONTENTS
CATDATAATOM
SELECTABLEOBJECT
ANGLETOOL
BOX
CAT_ARROW
CAT_ELLIPSE
CAT_POLYGON
CATCOLORBAR
RULER
SELECTABLEGROUP
TAPEMEASURE
TEXTLINE
CatImage
SCALEIMAGE
CATIMAGE2D
CatImageData
CATTRUECOLORIMAGE
ImageFrame
IMAGESTACK
CATTOOL
CATGRAPHICSCMDTOOL
CATIPTOOL
INTERACTION
RUBBERBANDBOX
MOVEABLEBOX
CONTRASTBOX
ELLIPSE_ROI
FREEHAND_ROI
POLYGON_ROI
MEASUREINTERACTION
ANNOTATEINTERACTION
CatList
CatListValue
cat_trackball
|
|
|