WorldWind源码剖析系列:挂件类Widgets
WorldWindow用户定制控件类中所包含的的挂件类Widgets控件主要有如下图所示的派生类。它们的类图如下所示。
鉴于挂件类Widgets及其派生类,相对简单,基本上都是些利用DirectX3D进行绘图和处理图标纹理影像等的操作,此处不再对各个类的主要的字段、属性和方法进行描述了。感兴趣的读者可以直接阅读源码。建议阅读源码之前读者应具备一定的DirectX3D开发基础。
挂件PictureBox类被WavingFlags、TimeController等插件引擎子类所引用。
挂件ButtonWidget、ControlWidget、 TextBox、CompassWidget和LabelWidget并未被任何其它类所引用。
挂件Scrollbar和TextLabel被WavingFlags插件引擎子类所引用。而枚举型Alignment被WavingFlags、TextLabel等类所引用。
挂件搜集类子类FormWidget被Compass3D、ScaleBarLegend、TimeController和WavingFlags等插件引擎子类所引用。而枚举类WidgetEnums被挂件搜集类子类FormWidget所引用。
挂件搜集类子类PanelWidget并未被任何其它类所引用。
挂件搜集类子类的根挂件类RootWidget被DrawArgs、WorldWindow等类所引用。
挂件搜集类子类SimpleTreeNodeWidget和TreeNodeWidget并未被任何其它类所引用。
PictureBox、RootWidget、TextBox、TextLabel、Form、Utilities.、WidgetCollection、LayerManager(已注释)等类在PluginSDK工程以及PluginSDK工程的Widgets文件夹下面两处都包含。