/*********************************************************************** THIS FILE IS AUTOMATICALLY GENERATED. DO NOT MODIFY DEVELOPER: Zihan Chen(vczh) ***********************************************************************/ #include "GacUIReflection.h" /*********************************************************************** GUIINSTANCECOMPILEDWORKFLOW.CPP ***********************************************************************/ namespace vl { namespace presentation { using namespace stream; using namespace workflow::runtime; using namespace controls; /*********************************************************************** GuiInstanceSharedScript ***********************************************************************/ void GuiInstanceCompiledWorkflow::Initialize(bool initializeContext) { if (binaryToLoad) { assembly = new WfAssembly(*binaryToLoad.Obj()); context = nullptr; binaryToLoad = nullptr; } if (initializeContext && !context) { context = new WfRuntimeGlobalContext(assembly); LoadFunction(context, L"")(); } } /*********************************************************************** Compiled Workflow Type Resolver (Workflow) ***********************************************************************/ class GuiResourceCompiledWorkflowTypeResolver : public Object , public IGuiResourceTypeResolver , private IGuiResourceTypeResolver_Initialize , private IGuiResourceTypeResolver_DirectLoadStream { public: WString GetType()override { return L"Workflow"; } bool XmlSerializable()override { return false; } bool StreamSerializable()override { return true; } vint GetMaxPassIndex()override { return 1; } void Initialize(Ptr resource, GuiResourceInitializeContext& context)override { if (auto compiled = resource->GetContent().Cast()) { switch (context.passIndex) { case 0: if (compiled->type == GuiInstanceCompiledWorkflow::InstanceClass) { if (context.usage == GuiResourceUsage::InstanceClass) { compiled->Initialize(true); } } break; } } } IGuiResourceTypeResolver_Initialize* Initialize()override { return this; } IGuiResourceTypeResolver_DirectLoadStream* DirectLoadStream()override { return this; } void SerializePrecompiled(Ptr resource, Ptr content, stream::IStream& stream)override { if (auto obj = content.Cast()) { internal::ContextFreeWriter writer(stream); vint type = (vint)obj->type; writer << type; if (obj->type == GuiInstanceCompiledWorkflow::InstanceClass) { MemoryStream memoryStream; obj->assembly->Serialize(memoryStream); writer << (IStream&)memoryStream; } } } Ptr ResolveResourcePrecompiled(Ptr resource, stream::IStream& stream, GuiResourceError::List& errors)override { internal::ContextFreeReader reader(stream); vint type; reader << type; auto obj = MakePtr(); obj->type = (GuiInstanceCompiledWorkflow::AssemblyType)type; if (obj->type == GuiInstanceCompiledWorkflow::InstanceClass) { auto memoryStream = MakePtr(); reader << (IStream&)*memoryStream.Obj(); obj->binaryToLoad = memoryStream; } return obj; } }; /*********************************************************************** Plugin ***********************************************************************/ class GuiRuntimeTypeResolversPlugin : public Object, public IGuiPlugin { public: GuiRuntimeTypeResolversPlugin() { } void Load()override { } void AfterLoad()override { IGuiResourceResolverManager* manager = GetResourceResolverManager(); manager->SetTypeResolver(new GuiResourceCompiledWorkflowTypeResolver); } void Unload()override { } }; GUI_REGISTER_PLUGIN(GuiRuntimeTypeResolversPlugin) } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONBASIC.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace parsing; using namespace parsing::tabling; using namespace parsing::xml; using namespace stream; using namespace presentation; using namespace presentation::elements; using namespace presentation::compositions; using namespace presentation::controls; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONBASIC_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , BEGIN_STRUCT_MEMBER(Color) valueType = new SerializableValueType(); serializableType = new SerializableType(); STRUCT_MEMBER(r) STRUCT_MEMBER(g) STRUCT_MEMBER(b) STRUCT_MEMBER(a) STRUCT_MEMBER(value) END_STRUCT_MEMBER(Color) BEGIN_ENUM_ITEM(Alignment) ENUM_CLASS_ITEM(Left) ENUM_CLASS_ITEM(Top) ENUM_CLASS_ITEM(Center) ENUM_CLASS_ITEM(Right) ENUM_CLASS_ITEM(Bottom) END_ENUM_ITEM(Alignment) BEGIN_ENUM_ITEM(AxisDirection) ENUM_CLASS_ITEM(LeftDown) ENUM_CLASS_ITEM(RightDown) ENUM_CLASS_ITEM(LeftUp) ENUM_CLASS_ITEM(RightUp) ENUM_CLASS_ITEM(DownLeft) ENUM_CLASS_ITEM(DownRight) ENUM_CLASS_ITEM(UpLeft) ENUM_CLASS_ITEM(UpRight) END_ENUM_ITEM(AxisDirection) BEGIN_STRUCT_MEMBER(TextPos) STRUCT_MEMBER(row) STRUCT_MEMBER(column) END_STRUCT_MEMBER(TextPos) BEGIN_STRUCT_MEMBER(GridPos) STRUCT_MEMBER(row) STRUCT_MEMBER(column) END_STRUCT_MEMBER(GridPos) BEGIN_STRUCT_MEMBER(Point) STRUCT_MEMBER(x) STRUCT_MEMBER(y) END_STRUCT_MEMBER(Point) BEGIN_STRUCT_MEMBER(Size) STRUCT_MEMBER(x) STRUCT_MEMBER(y) END_STRUCT_MEMBER(Size) BEGIN_STRUCT_MEMBER(Rect) STRUCT_MEMBER(x1) STRUCT_MEMBER(y1) STRUCT_MEMBER(x2) STRUCT_MEMBER(y2) END_STRUCT_MEMBER(Rect) BEGIN_STRUCT_MEMBER(Margin) STRUCT_MEMBER(left) STRUCT_MEMBER(top) STRUCT_MEMBER(right) STRUCT_MEMBER(bottom) END_STRUCT_MEMBER(Margin) BEGIN_STRUCT_MEMBER(FontProperties) STRUCT_MEMBER(fontFamily) STRUCT_MEMBER(size) STRUCT_MEMBER(bold) STRUCT_MEMBER(italic) STRUCT_MEMBER(underline) STRUCT_MEMBER(strikeline) STRUCT_MEMBER(antialias) STRUCT_MEMBER(verticalAntialias) END_STRUCT_MEMBER(FontProperties) BEGIN_STRUCT_MEMBER_FLAG(GlobalStringKey, TypeDescriptorFlags::Primitive) valueType = new SerializableValueType(); serializableType = new SerializableType(); END_STRUCT_MEMBER(GlobalStringKey) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeImageFrame) CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) CLASS_MEMBER_METHOD(GetSize, NO_PARAMETER) END_INTERFACE_MEMBER(INativeImageFrame) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeImage) CLASS_MEMBER_METHOD(GetFormat, NO_PARAMETER) CLASS_MEMBER_METHOD(GetFrameCount, NO_PARAMETER) CLASS_MEMBER_METHOD(GetFrame, {L"index"}) CLASS_MEMBER_EXTERNALCTOR(Ptr(const WString&), {L"filePath"}, vl::reflection::description::INativeImage_Constructor) END_INTERFACE_MEMBER(INativeImage) BEGIN_ENUM_ITEM(INativeImage::FormatType) ENUM_ITEM_NAMESPACE(INativeImage) ENUM_NAMESPACE_ITEM(Bmp) ENUM_NAMESPACE_ITEM(Gif) ENUM_NAMESPACE_ITEM(Icon) ENUM_NAMESPACE_ITEM(Jpeg) ENUM_NAMESPACE_ITEM(Png) ENUM_NAMESPACE_ITEM(Tiff) ENUM_NAMESPACE_ITEM(Wmp) ENUM_NAMESPACE_ITEM(Unknown) END_ENUM_ITEM(INativeImage::FormatType) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeCursor) CLASS_MEMBER_METHOD(IsSystemCursor, NO_PARAMETER) CLASS_MEMBER_METHOD(GetSystemCursorType, NO_PARAMETER) CLASS_MEMBER_EXTERNALCTOR(INativeCursor*(), NO_PARAMETER, vl::reflection::description::INativeCursor_Constructor1) CLASS_MEMBER_EXTERNALCTOR(INativeCursor*(INativeCursor::SystemCursorType), NO_PARAMETER, vl::reflection::description::INativeCursor_Constructor2) END_INTERFACE_MEMBER(INativeCursor) BEGIN_ENUM_ITEM(INativeCursor::SystemCursorType) ENUM_ITEM_NAMESPACE(INativeCursor) ENUM_NAMESPACE_ITEM(SmallWaiting) ENUM_NAMESPACE_ITEM(LargeWaiting) ENUM_NAMESPACE_ITEM(Arrow) ENUM_NAMESPACE_ITEM(Cross) ENUM_NAMESPACE_ITEM(Hand) ENUM_NAMESPACE_ITEM(Help) ENUM_NAMESPACE_ITEM(IBeam) ENUM_NAMESPACE_ITEM(SizeAll) ENUM_NAMESPACE_ITEM(SizeNESW) ENUM_NAMESPACE_ITEM(SizeNS) ENUM_NAMESPACE_ITEM(SizeNWSE) ENUM_NAMESPACE_ITEM(SizeWE) END_ENUM_ITEM(INativeCursor::SystemCursorType) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeWindow) CLASS_MEMBER_PROPERTY_FAST(Bounds) CLASS_MEMBER_PROPERTY_FAST(ClientSize) CLASS_MEMBER_PROPERTY_READONLY_FAST(ClientBoundsInScreen) CLASS_MEMBER_PROPERTY_FAST(Title) CLASS_MEMBER_PROPERTY_FAST(WindowCursor) CLASS_MEMBER_PROPERTY_FAST(CaretPoint) CLASS_MEMBER_PROPERTY_FAST(Parent) CLASS_MEMBER_PROPERTY_FAST(AlwaysPassFocusToParent) CLASS_MEMBER_PROPERTY_READONLY_FAST(SizeState) CLASS_MEMBER_PROPERTY_FAST(MinimizedBox) CLASS_MEMBER_PROPERTY_FAST(MaximizedBox) CLASS_MEMBER_PROPERTY_FAST(Border) CLASS_MEMBER_PROPERTY_FAST(SizeBox) CLASS_MEMBER_PROPERTY_FAST(IconVisible) CLASS_MEMBER_PROPERTY_FAST(TitleBar) CLASS_MEMBER_PROPERTY_FAST(TopMost) CLASS_MEMBER_METHOD(EnableCustomFrameMode, NO_PARAMETER) CLASS_MEMBER_METHOD(DisableCustomFrameMode, NO_PARAMETER) CLASS_MEMBER_METHOD(IsCustomFrameModeEnabled, NO_PARAMETER) CLASS_MEMBER_METHOD(Show, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowDeactivated, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowRestored, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowMaximized, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowMinimized, NO_PARAMETER) CLASS_MEMBER_METHOD(Hide, NO_PARAMETER) CLASS_MEMBER_METHOD(IsVisible, NO_PARAMETER) CLASS_MEMBER_METHOD(Enable, NO_PARAMETER) CLASS_MEMBER_METHOD(Disable, NO_PARAMETER) CLASS_MEMBER_METHOD(IsEnabled, NO_PARAMETER) CLASS_MEMBER_METHOD(SetFocus, NO_PARAMETER) CLASS_MEMBER_METHOD(IsFocused, NO_PARAMETER) CLASS_MEMBER_METHOD(SetActivate, NO_PARAMETER) CLASS_MEMBER_METHOD(IsActivated, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowInTaskBar, NO_PARAMETER) CLASS_MEMBER_METHOD(HideInTaskBar, NO_PARAMETER) CLASS_MEMBER_METHOD(IsAppearedInTaskBar, NO_PARAMETER) CLASS_MEMBER_METHOD(EnableActivate, NO_PARAMETER) CLASS_MEMBER_METHOD(DisableActivate, NO_PARAMETER) CLASS_MEMBER_METHOD(IsEnabledActivate, NO_PARAMETER) CLASS_MEMBER_METHOD(RequireCapture, NO_PARAMETER) CLASS_MEMBER_METHOD(ReleaseCapture, NO_PARAMETER) CLASS_MEMBER_METHOD(IsCapturing, NO_PARAMETER) CLASS_MEMBER_METHOD(RedrawContent, NO_PARAMETER) END_INTERFACE_MEMBER(INativeWindow) BEGIN_ENUM_ITEM(INativeWindow::WindowSizeState) ENUM_ITEM_NAMESPACE(INativeWindow) ENUM_NAMESPACE_ITEM(Minimized) ENUM_NAMESPACE_ITEM(Restored) ENUM_NAMESPACE_ITEM(Maximized) END_ENUM_ITEM(INativeWindow::WindowSizeState) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeDelay) CLASS_MEMBER_PROPERTY_READONLY_FAST(Status) CLASS_MEMBER_METHOD(Delay, {L"milliseconds"}) CLASS_MEMBER_METHOD(Cancel, NO_PARAMETER) END_INTERFACE_MEMBER(INativeDelay) BEGIN_ENUM_ITEM(INativeDelay::ExecuteStatus) ENUM_ITEM_NAMESPACE(INativeDelay) ENUM_NAMESPACE_ITEM(Pending) ENUM_NAMESPACE_ITEM(Executing) ENUM_NAMESPACE_ITEM(Executed) ENUM_NAMESPACE_ITEM(Canceled) END_ENUM_ITEM(INativeDelay::ExecuteStatus) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeScreen) CLASS_MEMBER_PROPERTY_READONLY_FAST(Bounds); CLASS_MEMBER_PROPERTY_READONLY_FAST(ClientBounds); CLASS_MEMBER_PROPERTY_READONLY_FAST(Name); CLASS_MEMBER_METHOD(IsPrimary, NO_PARAMETER) END_INTERFACE_MEMBER(INativeScreen) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeImageService) CLASS_MEMBER_METHOD(CreateImageFromFile, {L"path"}) END_INTERFACE_MEMBER(INativeImageService) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeResourceService) CLASS_MEMBER_PROPERTY_READONLY_FAST(DefaultSystemCursor) CLASS_MEMBER_PROPERTY_FAST(DefaultFont) CLASS_MEMBER_METHOD(GetSystemCursor, {L"type"}) END_INTERFACE_MEMBER(INativeResourceService) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeAsyncService) CLASS_MEMBER_METHOD(IsInMainThread, {L"type"}) CLASS_MEMBER_METHOD(InvokeAsync, {L"proc"}) CLASS_MEMBER_METHOD(InvokeInMainThread, {L"proc"}) CLASS_MEMBER_METHOD(InvokeInMainThreadAndWait, {L"proc" _ L"milliseconds"}) CLASS_MEMBER_METHOD(DelayExecute, {L"proc" _ L"milliseconds"}) CLASS_MEMBER_METHOD(DelayExecuteInMainThread, {L"proc" _ L"milliseconds"}) END_INTERFACE_MEMBER(INativeAsyncService) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeClipboardService) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_METHOD(ContainsText, NO_PARAMETER) END_INTERFACE_MEMBER(INativeClipboardService) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeScreenService) CLASS_MEMBER_PROPERTY_READONLY_FAST(ScreenCount) CLASS_MEMBER_METHOD_OVERLOAD(GetScreen, {L"index"}, INativeScreen*(INativeScreenService::*)(vint)) CLASS_MEMBER_METHOD_OVERLOAD(GetScreen, {L"window"}, INativeScreen*(INativeScreenService::*)(INativeWindow*)) END_INTERFACE_MEMBER(INativeScreenService) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeInputService) CLASS_MEMBER_METHOD(IsKeyPressing, { L"code" }) CLASS_MEMBER_METHOD(IsKeyToggled, { L"code" }) CLASS_MEMBER_METHOD(GetKeyName, { L"code" }) CLASS_MEMBER_METHOD(GetKey, { L"name" }) END_INTERFACE_MEMBER(INativeInputService) BEGIN_ENUM_ITEM(INativeDialogService::MessageBoxButtonsInput) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(DisplayOK) ENUM_NAMESPACE_ITEM(DisplayOKCancel) ENUM_NAMESPACE_ITEM(DisplayYesNo) ENUM_NAMESPACE_ITEM(DisplayYesNoCancel) ENUM_NAMESPACE_ITEM(DisplayRetryCancel) ENUM_NAMESPACE_ITEM(DisplayAbortRetryIgnore) ENUM_NAMESPACE_ITEM(DisplayCancelTryAgainContinue) END_ENUM_ITEM(INativeDialogService::MessageBoxButtonsInput) BEGIN_ENUM_ITEM(INativeDialogService::MessageBoxButtonsOutput) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(SelectOK) ENUM_NAMESPACE_ITEM(SelectCancel) ENUM_NAMESPACE_ITEM(SelectYes) ENUM_NAMESPACE_ITEM(SelectNo) ENUM_NAMESPACE_ITEM(SelectRetry) ENUM_NAMESPACE_ITEM(SelectAbort) ENUM_NAMESPACE_ITEM(SelectIgnore) ENUM_NAMESPACE_ITEM(SelectTryAgain) ENUM_NAMESPACE_ITEM(SelectContinue) END_ENUM_ITEM(INativeDialogService::MessageBoxButtonsOutput) BEGIN_ENUM_ITEM(INativeDialogService::MessageBoxDefaultButton) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(DefaultFirst) ENUM_NAMESPACE_ITEM(DefaultSecond) ENUM_NAMESPACE_ITEM(DefaultThird) END_ENUM_ITEM(INativeDialogService::MessageBoxDefaultButton) BEGIN_ENUM_ITEM(INativeDialogService::MessageBoxIcons) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(IconNone) ENUM_NAMESPACE_ITEM(IconError) ENUM_NAMESPACE_ITEM(IconQuestion) ENUM_NAMESPACE_ITEM(IconWarning) ENUM_NAMESPACE_ITEM(IconInformation) END_ENUM_ITEM(INativeDialogService::MessageBoxIcons) BEGIN_ENUM_ITEM(INativeDialogService::MessageBoxModalOptions) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(ModalWindow) ENUM_NAMESPACE_ITEM(ModalTask) ENUM_NAMESPACE_ITEM(ModalSystem) END_ENUM_ITEM(INativeDialogService::MessageBoxModalOptions) BEGIN_ENUM_ITEM(INativeDialogService::ColorDialogCustomColorOptions) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(CustomColorDisabled) ENUM_NAMESPACE_ITEM(CustomColorEnabled) ENUM_NAMESPACE_ITEM(CustomColorOpened) END_ENUM_ITEM(INativeDialogService::ColorDialogCustomColorOptions) BEGIN_ENUM_ITEM(INativeDialogService::FileDialogTypes) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(FileDialogOpen) ENUM_NAMESPACE_ITEM(FileDialogOpenPreview) ENUM_NAMESPACE_ITEM(FileDialogSave) ENUM_NAMESPACE_ITEM(FileDialogSavePreview) END_ENUM_ITEM(INativeDialogService::FileDialogTypes) BEGIN_ENUM_ITEM_MERGABLE(INativeDialogService::FileDialogOptions) ENUM_ITEM_NAMESPACE(INativeDialogService) ENUM_NAMESPACE_ITEM(FileDialogAllowMultipleSelection) ENUM_NAMESPACE_ITEM(FileDialogFileMustExist) ENUM_NAMESPACE_ITEM(FileDialogShowReadOnlyCheckBox) ENUM_NAMESPACE_ITEM(FileDialogDereferenceLinks) ENUM_NAMESPACE_ITEM(FileDialogShowNetworkButton) ENUM_NAMESPACE_ITEM(FileDialogPromptCreateFile) ENUM_NAMESPACE_ITEM(FileDialogPromptOverwriteFile) ENUM_NAMESPACE_ITEM(FileDialogDirectoryMustExist) ENUM_NAMESPACE_ITEM(FileDialogAddToRecent) END_ENUM_ITEM(INativeDialogService::FileDialogOptions) BEGIN_INTERFACE_MEMBER_NOPROXY(INativeController) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetCurrentController, NO_PARAMETER, INativeController*(*)(), vl::reflection::description::GetCurrentController) CLASS_MEMBER_PROPERTY_READONLY_FAST(ExecutablePath) CLASS_MEMBER_METHOD(ResourceService, NO_PARAMETER) CLASS_MEMBER_METHOD(AsyncService, NO_PARAMETER) CLASS_MEMBER_METHOD(ClipboardService, NO_PARAMETER) CLASS_MEMBER_METHOD(ImageService, NO_PARAMETER) CLASS_MEMBER_METHOD(ScreenService, NO_PARAMETER) CLASS_MEMBER_METHOD(InputService, NO_PARAMETER) END_INTERFACE_MEMBER(INativeController) BEGIN_CLASS_MEMBER(GuiImageData) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr, vint), {L"image" _ L"frameIndex"}) CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) CLASS_MEMBER_METHOD(GetFrameIndex, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Image, GetImage) CLASS_MEMBER_PROPERTY_READONLY(FrameIndex, GetFrameIndex) END_CLASS_MEMBER(GuiImageData) BEGIN_CLASS_MEMBER(GuiTextData) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(Text) END_CLASS_MEMBER(GuiTextData) BEGIN_STRUCT_MEMBER(DocumentFontSize) valueType = new SerializableValueType(); serializableType = new SerializableType(); STRUCT_MEMBER(size) STRUCT_MEMBER(relative) END_STRUCT_MEMBER(DocumentFontSize) BEGIN_CLASS_MEMBER(DocumentStyleProperties) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(face) CLASS_MEMBER_FIELD(size) CLASS_MEMBER_FIELD(color) CLASS_MEMBER_FIELD(backgroundColor) CLASS_MEMBER_FIELD(bold) CLASS_MEMBER_FIELD(italic) CLASS_MEMBER_FIELD(underline) CLASS_MEMBER_FIELD(strikeline) CLASS_MEMBER_FIELD(antialias) CLASS_MEMBER_FIELD(verticalAntialias) END_CLASS_MEMBER(DocumentStyleProperties) BEGIN_CLASS_MEMBER(DocumentRun) END_CLASS_MEMBER(DocumentRun) BEGIN_CLASS_MEMBER(DocumentContainerRun) CLASS_MEMBER_BASE(DocumentRun) CLASS_MEMBER_FIELD(runs) END_CLASS_MEMBER(DocumentContainerRun) BEGIN_CLASS_MEMBER(DocumentContentRun) CLASS_MEMBER_BASE(DocumentRun) CLASS_MEMBER_PROPERTY_READONLY_FAST(RepresentationText) END_CLASS_MEMBER(DocumentContentRun) BEGIN_CLASS_MEMBER(DocumentTextRun) CLASS_MEMBER_BASE(DocumentContentRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(text) END_CLASS_MEMBER(DocumentTextRun) BEGIN_CLASS_MEMBER(DocumentInlineObjectRun) CLASS_MEMBER_BASE(DocumentContentRun) CLASS_MEMBER_FIELD(size) CLASS_MEMBER_FIELD(baseline) END_CLASS_MEMBER(DocumentInlineObjectRun) BEGIN_CLASS_MEMBER(DocumentImageRun) CLASS_MEMBER_BASE(DocumentInlineObjectRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(image) CLASS_MEMBER_FIELD(frameIndex) CLASS_MEMBER_FIELD(source) END_CLASS_MEMBER(DocumentImageRun) BEGIN_CLASS_MEMBER(DocumentEmbeddedObjectRun) CLASS_MEMBER_BASE(DocumentInlineObjectRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(name) END_CLASS_MEMBER(DocumentEmbeddedObjectRun) BEGIN_CLASS_MEMBER(DocumentStylePropertiesRun) CLASS_MEMBER_BASE(DocumentContainerRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(style) END_CLASS_MEMBER(DocumentStylePropertiesRun) BEGIN_CLASS_MEMBER(DocumentStyleApplicationRun) CLASS_MEMBER_BASE(DocumentContainerRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(styleName) END_CLASS_MEMBER(DocumentStyleApplicationRun) BEGIN_CLASS_MEMBER(DocumentHyperlinkRun) CLASS_MEMBER_BASE(DocumentStyleApplicationRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(normalStyleName) CLASS_MEMBER_FIELD(activeStyleName) CLASS_MEMBER_FIELD(reference) END_CLASS_MEMBER(DocumentHyperlinkRun) BEGIN_CLASS_MEMBER(DocumentParagraphRun) CLASS_MEMBER_BASE(DocumentContainerRun) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(alignment) CLASS_MEMBER_METHOD_OVERLOAD(GetText, {L"skipNonTextContent"}, WString(DocumentParagraphRun::*)(bool)) END_CLASS_MEMBER(DocumentParagraphRun) BEGIN_CLASS_MEMBER(DocumentStyle) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(parentStyleName) CLASS_MEMBER_FIELD(styles) CLASS_MEMBER_FIELD(resolvedStyles) END_CLASS_MEMBER(DocumentStyle) BEGIN_CLASS_MEMBER(DocumentModel) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(paragraphs) CLASS_MEMBER_FIELD(styles) CLASS_MEMBER_METHOD_OVERLOAD(GetText, {L"skipNonTextContent"}, WString(DocumentModel::*)(bool)) CLASS_MEMBER_STATIC_METHOD(LoadFromXml, {L"resource" _ L"xml" _ L"workingDirectory" _ L"errors"}) CLASS_MEMBER_METHOD_OVERLOAD(SaveToXml, NO_PARAMETER, Ptr(DocumentModel::*)()) END_CLASS_MEMBER(DocumentModel) BEGIN_CLASS_MEMBER(GuiResourceNodeBase) CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) CLASS_MEMBER_PROPERTY_READONLY_FAST(ResourcePath) CLASS_MEMBER_PROPERTY_READONLY_FAST(FileContentPath) CLASS_MEMBER_PROPERTY_READONLY_FAST(FileAbsolutePath) CLASS_MEMBER_METHOD(SetFileContentPath, { L"content" _ L"absolute" }) END_CLASS_MEMBER(GuiResourceNodeBase) BEGIN_STRUCT_MEMBER(GuiResourceLocation) STRUCT_MEMBER(resourcePath) STRUCT_MEMBER(filePath) END_STRUCT_MEMBER(GuiResourceLocation) BEGIN_STRUCT_MEMBER(GuiResourceTextPos) STRUCT_MEMBER(originalLocation) STRUCT_MEMBER(row) STRUCT_MEMBER(column) END_STRUCT_MEMBER(GuiResourceTextPos) BEGIN_STRUCT_MEMBER(GuiResourceError) STRUCT_MEMBER(location) STRUCT_MEMBER(position) STRUCT_MEMBER(message) END_STRUCT_MEMBER(GuiResourceError) BEGIN_CLASS_MEMBER(GuiResourceItem) CLASS_MEMBER_BASE(GuiResourceNodeBase) CLASS_MEMBER_METHOD(GetContent, NO_PARAMETER) CLASS_MEMBER_METHOD(SetContent, {L"typeName" _ L"value"}) CLASS_MEMBER_METHOD(AsImage, NO_PARAMETER) CLASS_MEMBER_METHOD(AsXml, NO_PARAMETER) CLASS_MEMBER_METHOD(AsString, NO_PARAMETER) CLASS_MEMBER_METHOD(AsDocument, NO_PARAMETER) END_CLASS_MEMBER(GuiResourceItem) BEGIN_CLASS_MEMBER(GuiResourceFolder) CLASS_MEMBER_BASE(GuiResourceNodeBase) CLASS_MEMBER_PROPERTY_READONLY_FAST(Items) CLASS_MEMBER_PROPERTY_READONLY_FAST(Folders) CLASS_MEMBER_METHOD(GetItem, { L"name" }) CLASS_MEMBER_METHOD(AddItem, { L"name" _ L"item" }) CLASS_MEMBER_METHOD(RemoveItem, { L"name" }) CLASS_MEMBER_METHOD(ClearItems, NO_PARAMETER) CLASS_MEMBER_METHOD(GetFolder, { L"name" }) CLASS_MEMBER_METHOD(AddFolder, { L"name" _ L"folder" }) CLASS_MEMBER_METHOD(RemoveFolder, { L"name" }) CLASS_MEMBER_METHOD(ClearFolders, NO_PARAMETER) CLASS_MEMBER_METHOD(GetValueByPath, { L"path" }) CLASS_MEMBER_METHOD(GetFolderByPath, { L"path" }) CLASS_MEMBER_METHOD(CreateValueByPath, { L"path" _ L"typeName" _ L"value" }) END_CLASS_MEMBER(GuiResourceFolder) BEGIN_CLASS_MEMBER(GuiResource) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(WorkingDirectory) CLASS_MEMBER_METHOD(GetDocumentByPath, {L"path"}) CLASS_MEMBER_METHOD(GetImageByPath, {L"path"}) CLASS_MEMBER_METHOD(GetXmlByPath, {L"path"}) CLASS_MEMBER_METHOD(GetStringByPath, {L"path"}) END_CLASS_MEMBER(GuiResource) BEGIN_CLASS_MEMBER(GuiResourcePathResolver) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr, WString), {L"resource" _ L"workingDirectory"}) CLASS_MEMBER_METHOD(ResolveResource, {L"protocol" _ L"path"}) END_CLASS_MEMBER(GuiResourcePathResolver) BEGIN_ENUM_ITEM(GuiResourceUsage) ENUM_CLASS_ITEM(DataOnly) ENUM_CLASS_ITEM(InstanceClass) END_ENUM_ITEM(GuiResourceUsage) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiResourceManager) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetResourceManager, NO_PARAMETER, IGuiResourceManager*(*)(), vl::presentation::GetResourceManager) CLASS_MEMBER_METHOD(SetResource, { L"name" _ L"resource" _ L"usage" }) CLASS_MEMBER_METHOD(GetResource, { L"name" }) CLASS_MEMBER_METHOD(GetResourceFromClassName, { L"name" }) END_INTERFACE_MEMBER(IGuiResourceManager) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiGraphicsElement) CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnerComposition) END_INTERFACE_MEMBER(IGuiGraphicsElement) BEGIN_CLASS_MEMBER(GuiGraphicsComposition) CLASS_MEMBER_GUIEVENT_COMPOSITION(leftButtonDown) CLASS_MEMBER_GUIEVENT_COMPOSITION(leftButtonUp) CLASS_MEMBER_GUIEVENT_COMPOSITION(leftButtonDoubleClick) CLASS_MEMBER_GUIEVENT_COMPOSITION(middleButtonDown) CLASS_MEMBER_GUIEVENT_COMPOSITION(middleButtonUp) CLASS_MEMBER_GUIEVENT_COMPOSITION(middleButtonDoubleClick) CLASS_MEMBER_GUIEVENT_COMPOSITION(rightButtonDown) CLASS_MEMBER_GUIEVENT_COMPOSITION(rightButtonUp) CLASS_MEMBER_GUIEVENT_COMPOSITION(rightButtonDoubleClick) CLASS_MEMBER_GUIEVENT_COMPOSITION(horizontalWheel) CLASS_MEMBER_GUIEVENT_COMPOSITION(verticalWheel) CLASS_MEMBER_GUIEVENT_COMPOSITION(mouseMove) CLASS_MEMBER_GUIEVENT_COMPOSITION(mouseEnter) CLASS_MEMBER_GUIEVENT_COMPOSITION(mouseLeave) CLASS_MEMBER_GUIEVENT_COMPOSITION(previewKey) CLASS_MEMBER_GUIEVENT_COMPOSITION(keyDown) CLASS_MEMBER_GUIEVENT_COMPOSITION(keyUp) CLASS_MEMBER_GUIEVENT_COMPOSITION(systemKeyDown) CLASS_MEMBER_GUIEVENT_COMPOSITION(systemKeyUp) CLASS_MEMBER_GUIEVENT_COMPOSITION(previewCharInput) CLASS_MEMBER_GUIEVENT_COMPOSITION(charInput) CLASS_MEMBER_GUIEVENT_COMPOSITION(gotFocus) CLASS_MEMBER_GUIEVENT_COMPOSITION(lostFocus) CLASS_MEMBER_GUIEVENT_COMPOSITION(caretNotify) CLASS_MEMBER_GUIEVENT_COMPOSITION(clipboardNotify) CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) CLASS_MEMBER_PROPERTY_FAST(OwnedElement) CLASS_MEMBER_PROPERTY_FAST(Visible) CLASS_MEMBER_PROPERTY_FAST(MinSizeLimitation) CLASS_MEMBER_PROPERTY_READONLY_FAST(GlobalBounds) CLASS_MEMBER_PROPERTY_READONLY_FAST(AssociatedControl) CLASS_MEMBER_PROPERTY_FAST(AssociatedCursor) CLASS_MEMBER_PROPERTY_FAST(AssociatedHitTestResult) CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedControl) CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedControlHost) CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedCursor) CLASS_MEMBER_PROPERTY_FAST(Margin) CLASS_MEMBER_PROPERTY_FAST(InternalMargin) CLASS_MEMBER_PROPERTY_FAST(PreferredMinSize) CLASS_MEMBER_PROPERTY_READONLY_FAST(ClientArea) CLASS_MEMBER_PROPERTY_READONLY_FAST(MinPreferredClientSize) CLASS_MEMBER_PROPERTY_READONLY_FAST(PreferredBounds) CLASS_MEMBER_PROPERTY_READONLY_FAST(Bounds) CLASS_MEMBER_METHOD_RENAME(GetChildren, Children, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) CLASS_MEMBER_METHOD(AddChild, {L"child"}) CLASS_MEMBER_METHOD(InsertChild, {L"index" _ L"child"}) CLASS_MEMBER_METHOD(RemoveChild, {L"child"}) CLASS_MEMBER_METHOD(MoveChild, {L"child" _ L"newIndex"}) CLASS_MEMBER_METHOD(Render, {L"size"}) CLASS_MEMBER_METHOD(FindComposition, {L"location"}) CLASS_MEMBER_METHOD(ForceCalculateSizeImmediately, NO_PARAMETER) CLASS_MEMBER_METHOD(IsSizeAffectParent, NO_PARAMETER) END_CLASS_MEMBER(GuiGraphicsComposition) BEGIN_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) ENUM_ITEM_NAMESPACE(GuiGraphicsComposition) ENUM_NAMESPACE_ITEM(NoLimit) ENUM_NAMESPACE_ITEM(LimitToElement) ENUM_NAMESPACE_ITEM(LimitToElementAndChildren) END_ENUM_ITEM(GuiGraphicsComposition::MinSizeLimitation) BEGIN_ENUM_ITEM(INativeWindowListener::HitTestResult) ENUM_ITEM_NAMESPACE(INativeWindowListener) ENUM_NAMESPACE_ITEM(BorderNoSizing) ENUM_NAMESPACE_ITEM(BorderLeft) ENUM_NAMESPACE_ITEM(BorderRight) ENUM_NAMESPACE_ITEM(BorderTop) ENUM_NAMESPACE_ITEM(BorderBottom) ENUM_NAMESPACE_ITEM(BorderLeftTop) ENUM_NAMESPACE_ITEM(BorderRightTop) ENUM_NAMESPACE_ITEM(BorderLeftBottom) ENUM_NAMESPACE_ITEM(BorderRightBottom) ENUM_NAMESPACE_ITEM(Title) ENUM_NAMESPACE_ITEM(ButtonMinimum) ENUM_NAMESPACE_ITEM(ButtonMaximum) ENUM_NAMESPACE_ITEM(ButtonClose) ENUM_NAMESPACE_ITEM(Client) ENUM_NAMESPACE_ITEM(Icon) ENUM_NAMESPACE_ITEM(NoDecision) END_ENUM_ITEM(INativeWindowListener::HitTestResult) BEGIN_CLASS_MEMBER(GuiGraphicsSite) CLASS_MEMBER_BASE(GuiGraphicsComposition) CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(Bounds) END_CLASS_MEMBER(GuiGraphicsSite) BEGIN_CLASS_MEMBER(GuiWindowComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiWindowComposition*(), NO_PARAMETER) END_CLASS_MEMBER(GuiWindowComposition) BEGIN_CLASS_MEMBER(GuiBoundsComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiBoundsComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_EVENT_FAST(Bounds, BoundsChanged) CLASS_MEMBER_PROPERTY_FAST(AlignmentToParent) CLASS_MEMBER_METHOD(IsAlignedToParent, NO_PARAMETER) END_CLASS_MEMBER(GuiBoundsComposition) BEGIN_CLASS_MEMBER(GuiControl) CLASS_MEMBER_CONSTRUCTOR(GuiControl*(GuiControl::IStyleController*), {L"styleController"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(StyleController) CLASS_MEMBER_PROPERTY_READONLY_FAST(BoundsComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainerComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(FocusableComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) CLASS_MEMBER_PROPERTY_READONLY_FAST(ChildrenCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(RelatedControlHost) CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(VisuallyEnabled) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Enabled) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Visible) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Alt) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Text) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Font) CLASS_MEMBER_PROPERTY_FAST(Tag) CLASS_MEMBER_PROPERTY_FAST(TooltipControl) CLASS_MEMBER_PROPERTY_FAST(TooltipWidth) CLASS_MEMBER_METHOD(SetActivatingAltHost, { L"host" }) CLASS_MEMBER_METHOD(GetChild, {L"index"}) CLASS_MEMBER_METHOD(AddChild, {L"control"}) CLASS_MEMBER_METHOD(HasChild, {L"control"}) CLASS_MEMBER_METHOD(SetFocus, NO_PARAMETER) CLASS_MEMBER_METHOD(DisplayTooltip, {L"location"}) CLASS_MEMBER_METHOD(CloseTooltip, NO_PARAMETER) CLASS_MEMBER_METHOD_OVERLOAD(QueryService, {L"identifier"}, IDescriptable*(GuiControl::*)(const WString&)) END_CLASS_MEMBER(GuiControl) BEGIN_INTERFACE_MEMBER(GuiControl::IStyleController) CLASS_MEMBER_METHOD(GetBoundsComposition, NO_PARAMETER) CLASS_MEMBER_METHOD(GetContainerComposition, NO_PARAMETER) CLASS_MEMBER_METHOD(SetFocusableComposition, {L"value"}) CLASS_MEMBER_METHOD(SetText, {L"value"}) CLASS_MEMBER_METHOD(SetFont, {L"value"}) CLASS_MEMBER_METHOD(SetVisuallyEnabled, {L"value"}) END_INTERFACE_MEMBER(GuiControl::IStyleController) BEGIN_INTERFACE_MEMBER(GuiControl::IStyleProvider) CLASS_MEMBER_METHOD(AssociateStyleController, {L"controller"}) CLASS_MEMBER_METHOD(SetFocusableComposition, {L"value"}) CLASS_MEMBER_METHOD(SetText, {L"value"}) CLASS_MEMBER_METHOD(SetFont, {L"value"}) CLASS_MEMBER_METHOD(SetVisuallyEnabled, {L"value"}) END_INTERFACE_MEMBER(GuiControl::IStyleProvider) BEGIN_CLASS_MEMBER(GuiComponent) END_CLASS_MEMBER(GuiComponent) BEGIN_CLASS_MEMBER(GuiControlHost) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiInstanceRootObject) CLASS_MEMBER_CONSTRUCTOR(GuiControlHost*(GuiControl::IStyleController*), {L"styleController"}) CLASS_MEMBER_GUIEVENT(WindowGotFocus) CLASS_MEMBER_GUIEVENT(WindowLostFocus) CLASS_MEMBER_GUIEVENT(WindowActivated) CLASS_MEMBER_GUIEVENT(WindowDeactivated) CLASS_MEMBER_GUIEVENT(WindowOpened) CLASS_MEMBER_GUIEVENT(WindowClosing) CLASS_MEMBER_GUIEVENT(WindowClosed) CLASS_MEMBER_GUIEVENT(WindowDestroying) CLASS_MEMBER_PROPERTY_READONLY_FAST(MainComposition) CLASS_MEMBER_PROPERTY_FAST(ShowInTaskBar) CLASS_MEMBER_PROPERTY_FAST(EnabledActivate) CLASS_MEMBER_PROPERTY_FAST(TopMost) CLASS_MEMBER_PROPERTY_FAST(ClientSize) CLASS_MEMBER_PROPERTY_FAST(Bounds) CLASS_MEMBER_PROPERTY_FAST(ShortcutKeyManager) CLASS_MEMBER_PROPERTY_READONLY_FAST(AnimationManager) CLASS_MEMBER_METHOD(ForceCalculateSizeImmediately, NO_PARAMETER) CLASS_MEMBER_METHOD(GetFocused, NO_PARAMETER) CLASS_MEMBER_METHOD(SetFocused, NO_PARAMETER) CLASS_MEMBER_METHOD(GetActivated, NO_PARAMETER) CLASS_MEMBER_METHOD(SetActivated, NO_PARAMETER) CLASS_MEMBER_METHOD(Show, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowDeactivated, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowRestored, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowMaximized, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowMinimized, NO_PARAMETER) CLASS_MEMBER_METHOD(Hide, NO_PARAMETER) CLASS_MEMBER_METHOD(Close, NO_PARAMETER) CLASS_MEMBER_METHOD(GetOpening, NO_PARAMETER) END_CLASS_MEMBER(GuiControlHost) #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiBasicTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONBASIC_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiBasicTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiBasicTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONCOMPOSITIONS.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace presentation; using namespace presentation::compositions; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONCOMPOSITION_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , #define INTERFACE_IDENTIFIER(INTERFACE)\ CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetIdentifier, NO_PARAMETER, WString(*)(), vl::reflection::description::Interface_GetIdentifier) BEGIN_ENUM_ITEM(KeyDirection) ENUM_CLASS_ITEM(Up) ENUM_CLASS_ITEM(Down) ENUM_CLASS_ITEM(Left) ENUM_CLASS_ITEM(Right) ENUM_CLASS_ITEM(Home) ENUM_CLASS_ITEM(End) ENUM_CLASS_ITEM(PageUp) ENUM_CLASS_ITEM(PageDown) ENUM_CLASS_ITEM(PageLeft) ENUM_CLASS_ITEM(PageRight) END_ENUM_ITEM(KeyDirection) BEGIN_INTERFACE_MEMBER(IGuiAxis) CLASS_MEMBER_METHOD(RealSizeToVirtualSize, {L"size"}) CLASS_MEMBER_METHOD(VirtualSizeToRealSize, {L"size"}) CLASS_MEMBER_METHOD(RealPointToVirtualPoint, {L"realFullSize" _ L"point"}) CLASS_MEMBER_METHOD(VirtualPointToRealPoint, {L"realFullSize" _ L"point"}) CLASS_MEMBER_METHOD(RealRectToVirtualRect, {L"realFullSize" _ L"rect"}) CLASS_MEMBER_METHOD(VirtualRectToRealRect, {L"realFullSize" _ L"rect"}) CLASS_MEMBER_METHOD(RealMarginToVirtualMargin, {L"margin"}) CLASS_MEMBER_METHOD(VirtualMarginToRealMargin, {L"margin"}) CLASS_MEMBER_METHOD(RealKeyDirectionToVirtualKeyDirection, {L"key"}) END_INTERFACE_MEMBER(IGuiAxis) BEGIN_CLASS_MEMBER(GuiDefaultAxis) CLASS_MEMBER_BASE(IGuiAxis) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(GuiDefaultAxis) BEGIN_CLASS_MEMBER(GuiAxis) CLASS_MEMBER_BASE(IGuiAxis) CLASS_MEMBER_CONSTRUCTOR(Ptr(AxisDirection), {L"axisDirection"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(Direction) END_CLASS_MEMBER(GuiAxis) BEGIN_CLASS_MEMBER(GuiStackComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiStackComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(StackItems) CLASS_MEMBER_PROPERTY_FAST(Direction) CLASS_MEMBER_PROPERTY_FAST(Padding) CLASS_MEMBER_PROPERTY_FAST(ExtraMargin) CLASS_MEMBER_METHOD(InsertStackItem, {L"index" _ L"item"}) CLASS_MEMBER_METHOD(IsStackItemClipped, NO_PARAMETER) CLASS_MEMBER_METHOD(EnsureVisible, {L"index"}) END_CLASS_MEMBER(GuiStackComposition) BEGIN_ENUM_ITEM(GuiStackComposition::Direction) ENUM_ITEM_NAMESPACE(GuiStackComposition) ENUM_NAMESPACE_ITEM(Horizontal) ENUM_NAMESPACE_ITEM(Vertical) ENUM_NAMESPACE_ITEM(ReversedHorizontal) ENUM_NAMESPACE_ITEM(ReversedVertical) END_ENUM_ITEM(GuiStackComposition::Direction) BEGIN_CLASS_MEMBER(GuiStackItemComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiStackItemComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_EVENT_FAST(Bounds, BoundsChanged) CLASS_MEMBER_PROPERTY_FAST(ExtraMargin) END_CLASS_MEMBER(GuiStackItemComposition) BEGIN_STRUCT_MEMBER(GuiCellOption) STRUCT_MEMBER(composeType) STRUCT_MEMBER(absolute) STRUCT_MEMBER(percentage) END_STRUCT_MEMBER(GuiCellOption) BEGIN_ENUM_ITEM(GuiCellOption::ComposeType) ENUM_ITEM_NAMESPACE(GuiCellOption) ENUM_NAMESPACE_ITEM(Absolute) ENUM_NAMESPACE_ITEM(Percentage) ENUM_NAMESPACE_ITEM(MinSize) END_ENUM_ITEM(GuiCellOption::ComposeType) BEGIN_CLASS_MEMBER(GuiTableComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiTableComposition*(), NO_PARAMETER) CLASS_MEMBER_GUIEVENT(ConfigChanged) CLASS_MEMBER_PROPERTY_FAST(CellPadding) CLASS_MEMBER_PROPERTY_FAST(BorderVisible) CLASS_MEMBER_METHOD(GetRows, NO_PARAMETER) CLASS_MEMBER_EXTERNALMETHOD(SetRows, {L"value"}, void(GuiTableComposition::*)(vint), vl::reflection::description::GuiTableComposition_SetRows) CLASS_MEMBER_PROPERTY(Rows, GetRows, SetRows) CLASS_MEMBER_METHOD(GetColumns, NO_PARAMETER) CLASS_MEMBER_EXTERNALMETHOD(SetColumns, {L"value"}, void(GuiTableComposition::*)(vint), vl::reflection::description::GuiTableComposition_SetColumns) CLASS_MEMBER_PROPERTY(Columns, GetColumns, SetColumns) CLASS_MEMBER_METHOD(SetRowsAndColumns, {L"rows" _ L"columns"}) CLASS_MEMBER_METHOD(GetSitedCell, {L"rows" _ L"columns"}) CLASS_MEMBER_METHOD(GetRowOption, {L"row"}) CLASS_MEMBER_METHOD(SetRowOption, {L"row" _ L"option"}) CLASS_MEMBER_METHOD(GetColumnOption, {L"column"}) CLASS_MEMBER_METHOD(SetColumnOption, {L"column" _ L"option"}) CLASS_MEMBER_METHOD(GetCellArea, NO_PARAMETER) CLASS_MEMBER_METHOD(UpdateCellBounds, NO_PARAMETER) END_CLASS_MEMBER(GuiTableComposition) BEGIN_CLASS_MEMBER(GuiCellComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiCellComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(TableParent) CLASS_MEMBER_PROPERTY_READONLY_FAST(Row) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowSpan) CLASS_MEMBER_PROPERTY_READONLY_FAST(Column) CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnSpan) CLASS_MEMBER_METHOD(SetSite, {L"row" _ L"column" _ L"rowSpan" _ L"columnSpan"}) END_CLASS_MEMBER(GuiCellComposition) BEGIN_CLASS_MEMBER(GuiTableSplitterCompositionBase) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_PROPERTY_READONLY_FAST(TableParent) END_CLASS_MEMBER(GuiRowSplitterComposition) BEGIN_CLASS_MEMBER(GuiRowSplitterComposition) CLASS_MEMBER_BASE(GuiTableSplitterCompositionBase) CLASS_MEMBER_CONSTRUCTOR(GuiRowSplitterComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(RowsToTheTop) END_CLASS_MEMBER(GuiRowSplitterComposition) BEGIN_CLASS_MEMBER(GuiColumnSplitterComposition) CLASS_MEMBER_BASE(GuiTableSplitterCompositionBase) CLASS_MEMBER_CONSTRUCTOR(GuiColumnSplitterComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(ColumnsToTheLeft) END_CLASS_MEMBER(GuiColumnSplitterComposition) BEGIN_ENUM_ITEM(FlowAlignment) ENUM_CLASS_ITEM(Left) ENUM_CLASS_ITEM(Center) ENUM_CLASS_ITEM(Extend) END_ENUM_ITEM(FlowAlignment) BEGIN_CLASS_MEMBER(GuiFlowComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiFlowComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(FlowItems) CLASS_MEMBER_PROPERTY_FAST(ExtraMargin) CLASS_MEMBER_PROPERTY_FAST(RowPadding) CLASS_MEMBER_PROPERTY_FAST(ColumnPadding) CLASS_MEMBER_PROPERTY_FAST(Axis) CLASS_MEMBER_PROPERTY_FAST(Alignment) END_CLASS_MEMBER(GuiFlowComposition) BEGIN_STRUCT_MEMBER(GuiFlowOption) STRUCT_MEMBER(baseline) STRUCT_MEMBER(percentage) STRUCT_MEMBER(distance) END_STRUCT_MEMBER(GuiFlowOption) BEGIN_ENUM_ITEM(GuiFlowOption::BaselineType) ENUM_ITEM_NAMESPACE(GuiFlowOption) ENUM_NAMESPACE_ITEM(Percentage) ENUM_NAMESPACE_ITEM(FromTop) ENUM_NAMESPACE_ITEM(FromBottom) END_ENUM_ITEM(GuiFlowOption::BaselineType) BEGIN_CLASS_MEMBER(GuiFlowItemComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiFlowItemComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_EVENT_FAST(Bounds, BoundsChanged) CLASS_MEMBER_PROPERTY_FAST(ExtraMargin) CLASS_MEMBER_PROPERTY_FAST(FlowOption) END_CLASS_MEMBER(GuiFlowItemComposition) BEGIN_CLASS_MEMBER(GuiSideAlignedComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiSideAlignedComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(Direction) CLASS_MEMBER_PROPERTY_FAST(MaxLength) CLASS_MEMBER_PROPERTY_FAST(MaxRatio) END_CLASS_MEMBER(GuiSideAlignedComposition) BEGIN_ENUM_ITEM(GuiSideAlignedComposition::Direction) ENUM_ITEM_NAMESPACE(GuiSideAlignedComposition) ENUM_NAMESPACE_ITEM(Left) ENUM_NAMESPACE_ITEM(Top) ENUM_NAMESPACE_ITEM(Right) ENUM_NAMESPACE_ITEM(Bottom) END_ENUM_ITEM(GuiSideAlignedComposition::Direction) BEGIN_CLASS_MEMBER(GuiPartialViewComposition) CLASS_MEMBER_BASE(GuiGraphicsSite) CLASS_MEMBER_CONSTRUCTOR(GuiPartialViewComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(WidthRatio) CLASS_MEMBER_PROPERTY_FAST(WidthPageSize) CLASS_MEMBER_PROPERTY_FAST(HeightRatio) CLASS_MEMBER_PROPERTY_FAST(HeightPageSize) END_CLASS_MEMBER(GuiPartialViewComposition) BEGIN_CLASS_MEMBER(GuiSharedSizeItemComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiSharedSizeItemComposition*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(Group) CLASS_MEMBER_PROPERTY_FAST(SharedWidth) CLASS_MEMBER_PROPERTY_FAST(SharedHeight) END_CLASS_MEMBER(GuiSubComponentMeasurer) BEGIN_CLASS_MEMBER(GuiSharedSizeRootComposition) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_CONSTRUCTOR(GuiSharedSizeRootComposition*(), NO_PARAMETER) END_CLASS_MEMBER(GuiSubComponentMeasurerSource) BEGIN_INTERFACE_MEMBER(IGuiGraphicsAnimation) CLASS_MEMBER_PROPERTY_READONLY_FAST(TotalLength) CLASS_MEMBER_PROPERTY_READONLY_FAST(CurrentPosition) CLASS_MEMBER_METHOD(Play, {L"currentPosition" _ L"totalLength"}) CLASS_MEMBER_METHOD(Stop, NO_PARAMETER) END_INTERFACE_MEMBER(IGuiGraphicsAnimation) BEGIN_CLASS_MEMBER(GuiGraphicsAnimationManager) CLASS_MEMBER_METHOD(AddAnimation, {L"animation"}) CLASS_MEMBER_METHOD(HasAnimation, NO_PARAMETER) CLASS_MEMBER_METHOD(Play, NO_PARAMETER) END_CLASS_MEMBER(GuiGraphicsAnimationManager) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyItem) CLASS_MEMBER_PROPERTY_READONLY_FAST(Manager) CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) END_INTERFACE_MEMBER(IGuiShortcutKeyItem) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiShortcutKeyManager) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemCount) CLASS_MEMBER_METHOD(GetItem, {L"index"}) END_INTERFACE_MEMBER(IGuiShortcutKeyManager) BEGIN_CLASS_MEMBER(GuiShortcutKeyManager) CLASS_MEMBER_BASE(IGuiShortcutKeyManager) CLASS_MEMBER_CONSTRUCTOR(GuiShortcutKeyManager*(), NO_PARAMETER) CLASS_MEMBER_METHOD(CreateShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) CLASS_MEMBER_METHOD(DestroyShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) CLASS_MEMBER_METHOD(TryGetShortcut, {L"ctrl" _ L"shift" _ L"alt" _ L"ket"}) END_CLASS_MEMBER(GuiShortcutKeyManager) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltAction) INTERFACE_IDENTIFIER(IGuiAltAction) CLASS_MEMBER_PROPERTY_READONLY_FAST(Alt) CLASS_MEMBER_METHOD(IsAltEnabled, NO_PARAMETER) CLASS_MEMBER_METHOD(IsAltAvailable, NO_PARAMETER) CLASS_MEMBER_METHOD(GetAltComposition, NO_PARAMETER) CLASS_MEMBER_METHOD(GetActivatingAltHost, NO_PARAMETER) CLASS_MEMBER_METHOD(OnActiveAlt, NO_PARAMETER) END_INTERFACE_MEMBER(IGuiAltAction) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionContainer) INTERFACE_IDENTIFIER(IGuiAltActionContainer) CLASS_MEMBER_PROPERTY_READONLY_FAST(AltActionCount) CLASS_MEMBER_METHOD(GetAltAction, { L"index" }) END_INTERFACE_MEMBER(IGuiAltActionContainer) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiAltActionHost) INTERFACE_IDENTIFIER(IGuiAltActionHost) CLASS_MEMBER_PROPERTY_READONLY_FAST(PreviousAltHost) CLASS_MEMBER_METHOD(OnActivatedAltHost, { L"previousHost" }) CLASS_MEMBER_METHOD(OnDeactivatedAltHost, NO_PARAMETER) CLASS_MEMBER_EXTERNALMETHOD(CollectAltActions, {L"actions"}, void(IGuiAltActionHost::*)(List&), vl::reflection::description::IGuiAltActionHost_CollectAltActions) END_INTERFACE_MEMBER(IGuiAltActionHost) #undef INTERFACE_EXTERNALCTOR #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiCompositionTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONCOMPOSITION_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiCompositionTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiCompositionTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONCONTROLS.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace parsing; using namespace parsing::tabling; using namespace parsing::definitions; using namespace parsing::analyzing; using namespace parsing::xml; using namespace stream; using namespace presentation; using namespace presentation::controls; using namespace presentation::controls::list; using namespace presentation::controls::tree; using namespace presentation::elements::text; using namespace theme; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONCONTROLS_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , #define CONTROL_CONSTRUCTOR_CONTROLLER(CONTROL)\ CLASS_MEMBER_CONSTRUCTOR(CONTROL*(CONTROL::IStyleController*), {L"styleController"}) #define CONTROL_CONSTRUCTOR_DEFAULT(CONTROL, CONSTRUCTOR)\ CLASS_MEMBER_EXTERNALCTOR(CONTROL*(), NO_PARAMETER, CONSTRUCTOR) #define CONTROL_CONSTRUCTOR_PROVIDER(CONTROL)\ CLASS_MEMBER_CONSTRUCTOR(CONTROL*(CONTROL::IStyleProvider*), {L"styleProvider"}) #define INTERFACE_IDENTIFIER(INTERFACE)\ CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetIdentifier, NO_PARAMETER, WString(*)(), vl::reflection::description::Interface_GetIdentifier) BEGIN_CLASS_MEMBER(GuiApplication) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetApplication, NO_PARAMETER, GuiApplication*(*)(), vl::presentation::controls::GetApplication) CLASS_MEMBER_PROPERTY_READONLY_FAST(MainWindow) CLASS_MEMBER_PROPERTY_READONLY_FAST(TooltipOwner) CLASS_MEMBER_PROPERTY_READONLY_FAST(ExecutablePath) CLASS_MEMBER_PROPERTY_READONLY_FAST(ExecutableFolder) CLASS_MEMBER_PROPERTY_READONLY_FAST(Windows) CLASS_MEMBER_METHOD(Run, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowTooltip, {L"owner" _ L"tooltip" _ L"preferredContentWidth" _ L"location"}) CLASS_MEMBER_METHOD(CloseTooltip, NO_PARAMETER) CLASS_MEMBER_METHOD(IsInMainThread, NO_PARAMETER) CLASS_MEMBER_METHOD(InvokeAsync, {L"proc"}) CLASS_MEMBER_METHOD(InvokeInMainThread, {L"proc"}) CLASS_MEMBER_METHOD(InvokeInMainThreadAndWait, {L"proc" _ L"milliseconds"}) CLASS_MEMBER_METHOD(DelayExecute, {L"proc" _ L"milliseconds"}) CLASS_MEMBER_METHOD(DelayExecuteInMainThread, {L"proc" _ L"milliseconds"}) END_CLASS_MEMBER(GuiApplication) BEGIN_INTERFACE_MEMBER_NOPROXY(ITheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(GetCurrentTheme, NO_PARAMETER, ITheme*(*)(), vl::presentation::theme::GetCurrentTheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(SetCurrentTheme, {L"theme"}, void(*)(ITheme*), vl::presentation::theme::SetCurrentTheme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(CreateWin7Theme, NO_PARAMETER, Ptr(*)(), vl::reflection::description::CreateWin7Theme) CLASS_MEMBER_STATIC_EXTERNALMETHOD(CreateWin8Theme, NO_PARAMETER, Ptr(*)(), vl::reflection::description::CreateWin8Theme) CLASS_MEMBER_METHOD(CreateWindowStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateCustomControlStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTooltipStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateLabelStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateShortcutKeyStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateScrollContainerStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateGroupBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTabStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateComboBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMultilineTextBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTextBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(GetDefaultTextBoxColorEntry, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateDocumentViewerStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateDocumentLabelStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateDocumentTextBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateListViewStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTreeViewStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateListItemBackgroundStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMenuStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMenuBarStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMenuSplitterStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMenuBarButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateMenuItemButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolBarStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolBarButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolBarDropdownButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolBarSplitButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolBarSplitterStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateCheckBoxStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateRadioButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateDatePickerStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateHScrollStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateVScrollStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateHTrackerStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateVTrackerStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateProgressBarStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(GetScrollDefaultSize, NO_PARAMETER) CLASS_MEMBER_METHOD(GetTrackerDefaultSize, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTextListStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTextListItemStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateCheckTextListItemStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateRadioTextListItemStyle, NO_PARAMETER) END_INTERFACE_MEMBER(ITheme) BEGIN_CLASS_MEMBER(GuiInstanceRootObject) CLASS_MEMBER_METHOD(AddSubscription, {L"subscription"}) CLASS_MEMBER_METHOD(RemoveSubscription, {L"subscription"}) CLASS_MEMBER_METHOD(ContainsSubscription, {L"subscription"}) CLASS_MEMBER_METHOD(ClearSubscriptions, NO_PARAMETER) CLASS_MEMBER_METHOD(AddComponent, {L"component"}) CLASS_MEMBER_METHOD(AddControlHostComponent, {L"controlHost"}) CLASS_MEMBER_METHOD(RemoveComponent, {L"component"}) CLASS_MEMBER_METHOD(ContainsComponent, {L"component"}) CLASS_MEMBER_METHOD(ClearComponents, NO_PARAMETER) END_CLASS_MEMBER(GuiInstanceRootObject) BEGIN_CLASS_MEMBER(GuiDialogBase) CLASS_MEMBER_BASE(GuiComponent) END_CLASS_MEMBER(GuiDialogBase) BEGIN_CLASS_MEMBER(GuiMessageDialog) CLASS_MEMBER_BASE(GuiDialogBase) CLASS_MEMBER_CONSTRUCTOR(GuiMessageDialog*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(Input) CLASS_MEMBER_PROPERTY_FAST(DefaultButton) CLASS_MEMBER_PROPERTY_FAST(Icon) CLASS_MEMBER_PROPERTY_FAST(ModalOption) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(Title) CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiMessageDialog) BEGIN_CLASS_MEMBER(GuiColorDialog) CLASS_MEMBER_BASE(GuiDialogBase) CLASS_MEMBER_CONSTRUCTOR(GuiColorDialog*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(EnabledCustomColor) CLASS_MEMBER_PROPERTY_FAST(OpenedCustomColor) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedColor) CLASS_MEMBER_PROPERTY_READONLY_FAST(CustomColors) CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiColorDialog) BEGIN_CLASS_MEMBER(GuiFontDialog) CLASS_MEMBER_BASE(GuiDialogBase) CLASS_MEMBER_CONSTRUCTOR(GuiFontDialog*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedFont) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedColor) CLASS_MEMBER_PROPERTY_FAST(ShowSelection) CLASS_MEMBER_PROPERTY_FAST(ShowEffect) CLASS_MEMBER_PROPERTY_FAST(ForceFontExist) CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiFontDialog) BEGIN_CLASS_MEMBER(GuiFileDialogBase) CLASS_MEMBER_BASE(GuiDialogBase) CLASS_MEMBER_PROPERTY_FAST(Filter) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(FilterIndex) CLASS_MEMBER_PROPERTY_FAST(EnabledPreview) CLASS_MEMBER_PROPERTY_FAST(Title) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(FileName) CLASS_MEMBER_PROPERTY_FAST(Directory) CLASS_MEMBER_PROPERTY_FAST(DefaultExtension) CLASS_MEMBER_PROPERTY_FAST(Options) END_CLASS_MEMBER(GuiFileDialogBase) BEGIN_CLASS_MEMBER(GuiOpenFileDialog) CLASS_MEMBER_BASE(GuiFileDialogBase) CLASS_MEMBER_CONSTRUCTOR(GuiOpenFileDialog*(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(FileNames) CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiOpenFileDialog) BEGIN_CLASS_MEMBER(GuiSaveFileDialog) CLASS_MEMBER_BASE(GuiFileDialogBase) CLASS_MEMBER_CONSTRUCTOR(GuiSaveFileDialog*(), NO_PARAMETER) CLASS_MEMBER_METHOD(ShowDialog, NO_PARAMETER) END_CLASS_MEMBER(GuiSaveFileDialog) BEGIN_CLASS_MEMBER(GuiCustomControl) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiInstanceRootObject) CONTROL_CONSTRUCTOR_CONTROLLER(GuiCustomControl) END_CLASS_MEMBER(GuiCustomControl) BEGIN_CLASS_MEMBER(GuiLabel) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiLabel) CLASS_MEMBER_PROPERTY_FAST(TextColor) END_CLASS_MEMBER(GuiLabel) BEGIN_INTERFACE_MEMBER(GuiLabel::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_METHOD(GetDefaultTextColor, NO_PARAMETER) CLASS_MEMBER_METHOD(SetTextColor, {L"value"}) END_INTERFACE_MEMBER(GuiLabel::IStyleController) BEGIN_CLASS_MEMBER(GuiButton) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiButton) CLASS_MEMBER_GUIEVENT(Clicked) CLASS_MEMBER_PROPERTY_FAST(ClickOnMouseUp) END_CLASS_MEMBER(GuiButton) BEGIN_ENUM_ITEM(GuiButton::ControlState) ENUM_ITEM_NAMESPACE(GuiButton) ENUM_NAMESPACE_ITEM(Normal) ENUM_NAMESPACE_ITEM(Active) ENUM_NAMESPACE_ITEM(Pressed) END_ENUM_ITEM(GuiButton::ControlState) BEGIN_INTERFACE_MEMBER(GuiButton::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_METHOD(Transfer, {L"value"}) END_INTERFACE_MEMBER(GuiButton::IStyleController) BEGIN_CLASS_MEMBER(GuiSelectableButton) CLASS_MEMBER_BASE(GuiButton) CONTROL_CONSTRUCTOR_CONTROLLER(GuiSelectableButton) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(GroupController) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(AutoSelection) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Selected) END_CLASS_MEMBER(GuiSelectableButton) BEGIN_INTERFACE_MEMBER(GuiSelectableButton::IStyleController) CLASS_MEMBER_BASE(GuiButton::IStyleController) CLASS_MEMBER_METHOD(SetSelected, {L"value"}) END_INTERFACE_MEMBER(GuiSelectableButton::IStyleController) BEGIN_CLASS_MEMBER(GuiSelectableButton::GroupController) CLASS_MEMBER_BASE(GuiComponent) CLASS_MEMBER_METHOD(Attach, {L"button"}) CLASS_MEMBER_METHOD(Detach, {L"button"}) CLASS_MEMBER_METHOD(OnSelectedChanged, {L"button"}) END_CLASS_MEMBER(GuiSelectableButton::GroupController) BEGIN_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) CLASS_MEMBER_BASE(GuiSelectableButton::GroupController) CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButton::MutexGroupController*(), NO_PARAMETER) END_CLASS_MEMBER(GuiSelectableButton::MutexGroupController) BEGIN_CLASS_MEMBER(GuiScroll) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiScroll) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TotalSize) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(PageSize) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Position) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SmallMove) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(BigMove) CLASS_MEMBER_PROPERTY_READONLY_FAST(MinPosition) CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxPosition) END_CLASS_MEMBER(GuiScroll) BEGIN_INTERFACE_MEMBER_NOPROXY(GuiScroll::ICommandExecutor) CLASS_MEMBER_METHOD(SmallDecrease, NO_PARAMETER) CLASS_MEMBER_METHOD(SmallIncrease, NO_PARAMETER) CLASS_MEMBER_METHOD(BigDecrease, NO_PARAMETER) CLASS_MEMBER_METHOD(BigIncrease, NO_PARAMETER) CLASS_MEMBER_METHOD(SetTotalSize, {L"value"}) CLASS_MEMBER_METHOD(SetPageSize, {L"value"}) CLASS_MEMBER_METHOD(SetPosition, {L"value"}) END_INTERFACE_MEMBER(GuiScroll::ICommandExecutor) BEGIN_INTERFACE_MEMBER(GuiScroll::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(SetTotalSize, {L"value"}) CLASS_MEMBER_METHOD(SetPageSize, {L"value"}) CLASS_MEMBER_METHOD(SetPosition, {L"value"}) END_INTERFACE_MEMBER(GuiScroll::IStyleController) BEGIN_CLASS_MEMBER(GuiTabPage) CLASS_MEMBER_CONSTRUCTOR(GuiTabPage*(), NO_PARAMETER) CLASS_MEMBER_GUIEVENT(PageInstalled) CLASS_MEMBER_GUIEVENT(PageUninstalled) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainerComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnerTab) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Alt) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Text) CLASS_MEMBER_PROPERTY_READONLY_FAST(Selected) END_CLASS_MEMBER(GuiTabPage) BEGIN_CLASS_MEMBER(GuiTab) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiTab) CONTROL_CONSTRUCTOR_DEFAULT(GuiTab, vl::presentation::theme::g::NewTab) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedPage) CLASS_MEMBER_METHOD_OVERLOAD(CreatePage, {L"index"}, GuiTabPage*(GuiTab::*)(vint)) CLASS_MEMBER_METHOD_OVERLOAD(CreatePage, {L"page" _ L"index"}, bool(GuiTab::*)(GuiTabPage* _ vint)) CLASS_MEMBER_METHOD(RemovePage, {L"value"}) CLASS_MEMBER_METHOD(MovePage, {L"page" _ L"newIndex"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(Pages) END_CLASS_MEMBER(GuiTab) BEGIN_INTERFACE_MEMBER_NOPROXY(GuiTab::ICommandExecutor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(ShowTab, {L"index"}) END_INTERFACE_MEMBER(GuiTab::ICommandExecutor) BEGIN_INTERFACE_MEMBER(GuiTab::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(InsertTab, {L"index"}) CLASS_MEMBER_METHOD(SetTabText, {L"index" _ L"value"}) CLASS_MEMBER_METHOD(RemoveTab, {L"index"}) CLASS_MEMBER_METHOD(MoveTab, {L"oldIndex" _ L"newIndex"}) CLASS_MEMBER_METHOD(SetSelectedTab, {L"index"}) CLASS_MEMBER_METHOD(SetTabAlt, {L"index" _ L"value" _ L"host"}) CLASS_MEMBER_METHOD(GetTabAltAction, {L"index"}) END_INTERFACE_MEMBER(GuiTab::IStyleController) BEGIN_CLASS_MEMBER(GuiScrollView) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewSize) CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewBounds) CLASS_MEMBER_PROPERTY_READONLY_FAST(HorizontalScroll) CLASS_MEMBER_PROPERTY_READONLY_FAST(VerticalScroll) CLASS_MEMBER_PROPERTY_FAST(HorizontalAlwaysVisible) CLASS_MEMBER_PROPERTY_FAST(VerticalAlwaysVisible) CLASS_MEMBER_METHOD(CalculateView, NO_PARAMETER) END_CLASS_MEMBER(GuiScrollView) BEGIN_INTERFACE_MEMBER(GuiScrollView::IStyleProvider) CLASS_MEMBER_BASE(GuiControl::IStyleProvider) CLASS_MEMBER_METHOD(CreateHorizontalScrollStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateVerticalScrollStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(GetDefaultScrollSize, NO_PARAMETER) CLASS_MEMBER_METHOD(InstallBackground, {L"boundsComposition"}) END_INTERFACE_MEMBER(GuiScrollView::IStyleProvider) BEGIN_CLASS_MEMBER(GuiScrollContainer) CLASS_MEMBER_BASE(GuiScrollView) CONTROL_CONSTRUCTOR_PROVIDER(GuiScrollContainer) CLASS_MEMBER_PROPERTY_FAST(ExtendToFullWidth) END_CLASS_MEMBER(GuiScrollContainer) BEGIN_CLASS_MEMBER(GuiWindow) CLASS_MEMBER_BASE(GuiControlHost) CONTROL_CONSTRUCTOR_CONTROLLER(GuiWindow) CLASS_MEMBER_GUIEVENT(ClipboardUpdated) CLASS_MEMBER_PROPERTY_FAST(MaximizedBox) CLASS_MEMBER_PROPERTY_FAST(MinimizedBox) CLASS_MEMBER_PROPERTY_FAST(Border) CLASS_MEMBER_PROPERTY_FAST(SizeBox) CLASS_MEMBER_PROPERTY_FAST(IconVisible) CLASS_MEMBER_PROPERTY_FAST(TitleBar) CLASS_MEMBER_METHOD(MoveToScreenCenter, NO_PARAMETER) CLASS_MEMBER_METHOD(ShowModal, { L"owner" _ L"callback" }) CLASS_MEMBER_METHOD(ShowModalAndDelete, { L"owner" _ L"callback" }) CLASS_MEMBER_METHOD(ShowModalAsync, { L"owner" }) END_CLASS_MEMBER(GuiWindow) BEGIN_INTERFACE_MEMBER(GuiWindow::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_METHOD(AttachWindow, {L"window"}) CLASS_MEMBER_METHOD(InitializeNativeWindowProperties, NO_PARAMETER) CLASS_MEMBER_METHOD(SetSizeState, {L"value"}) CLASS_MEMBER_PROPERTY_FAST(MaximizedBox) CLASS_MEMBER_PROPERTY_FAST(MinimizedBox) CLASS_MEMBER_PROPERTY_FAST(Border) CLASS_MEMBER_PROPERTY_FAST(SizeBox) CLASS_MEMBER_PROPERTY_FAST(IconVisible) CLASS_MEMBER_PROPERTY_FAST(TitleBar) CLASS_MEMBER_METHOD(CreateTooltipStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateShortcutKeyStyle, NO_PARAMETER) END_INTERFACE_MEMBER(GuiWindow::IStyleController) BEGIN_CLASS_MEMBER(GuiPopup) CLASS_MEMBER_BASE(GuiWindow) CONTROL_CONSTRUCTOR_CONTROLLER(GuiPopup) CLASS_MEMBER_METHOD(IsClippedByScreen, {L"location"}) CLASS_MEMBER_METHOD_OVERLOAD(ShowPopup, {L"location" _ L"screen"}, void(GuiPopup::*)(Point _ INativeScreen*)) CLASS_MEMBER_METHOD_OVERLOAD(ShowPopup, {L"control" _ L"location"}, void(GuiPopup::*)(GuiControl* _ Point)) CLASS_MEMBER_METHOD_OVERLOAD(ShowPopup, {L"control" _ L"preferredTopBottomSide"}, void(GuiPopup::*)(GuiControl* _ bool)) END_CLASS_MEMBER(GuiPopup) BEGIN_CLASS_MEMBER(GuiTooltip) CLASS_MEMBER_BASE(GuiPopup) CONTROL_CONSTRUCTOR_CONTROLLER(GuiTooltip) CLASS_MEMBER_PROPERTY_FAST(PreferredContentWidth) CLASS_MEMBER_PROPERTY_FAST(TemporaryContentControl) END_CLASS_MEMBER(GuiTooltip) BEGIN_CLASS_MEMBER(GuiListControl) CLASS_MEMBER_BASE(GuiScrollView) CLASS_MEMBER_CONSTRUCTOR(GuiListControl*(GuiListControl::IStyleProvider* _ GuiListControl::IItemProvider* _ bool), {L"styleProvider" _ L"itemProvider" _ L"acceptFocus"}) CLASS_MEMBER_GUIEVENT(AdoptedSizeInvalidated) CLASS_MEMBER_GUIEVENT(ItemLeftButtonDown) CLASS_MEMBER_GUIEVENT(ItemLeftButtonUp) CLASS_MEMBER_GUIEVENT(ItemLeftButtonDoubleClick) CLASS_MEMBER_GUIEVENT(ItemMiddleButtonDown) CLASS_MEMBER_GUIEVENT(ItemMiddleButtonUp) CLASS_MEMBER_GUIEVENT(ItemMiddleButtonDoubleClick) CLASS_MEMBER_GUIEVENT(ItemRightButtonDown) CLASS_MEMBER_GUIEVENT(ItemRightButtonUp) CLASS_MEMBER_GUIEVENT(ItemRightButtonDoubleClick) CLASS_MEMBER_GUIEVENT(ItemMouseMove) CLASS_MEMBER_GUIEVENT(ItemMouseEnter) CLASS_MEMBER_GUIEVENT(ItemMouseLeave) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(StyleProvider) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Arranger) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Axis) CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) END_CLASS_MEMBER(GuiListControl) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) CLASS_MEMBER_METHOD(OnItemModified, {L"start" _ L"count" _ L"newCount"}) END_INTERFACE_MEMBER(GuiListControl::IItemProviderCallback) BEGIN_INTERFACE_MEMBER_NOPROXY(GuiListControl::IItemArrangerCallback) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(RequestItem, {L"itemIndex"}) CLASS_MEMBER_METHOD(ReleaseItem, {L"style"}) CLASS_MEMBER_METHOD(SetViewLocation, {L"value"}) CLASS_MEMBER_METHOD(GetStylePreferredSize, {L"style"}) CLASS_MEMBER_METHOD(SetStyleAlignmentToParent, {L"style" _ L"margin"}) CLASS_MEMBER_METHOD(GetStyleBounds, {L"style"}) CLASS_MEMBER_METHOD(SetStyleBounds, {L"style" _ L"bounds"}) CLASS_MEMBER_METHOD(GetContainerComposition, NO_PARAMETER) CLASS_MEMBER_METHOD(OnTotalSizeChanged, NO_PARAMETER) END_INTERFACE_MEMBER(GuiListControl::IItemArrangerCallback) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemPrimaryTextView) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(GuiListControl::IItemPrimaryTextView) CLASS_MEMBER_METHOD(GetPrimaryTextViewText, {L"itemIndex"}) CLASS_MEMBER_METHOD(ContainsPrimaryText, {L"itemIndex"}) END_INTERFACE_MEMBER(GuiListControl::IItemPrimaryTextView) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemBindingView) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(GuiListControl::IItemBindingView) CLASS_MEMBER_METHOD(GetBindingValue, {L"itemIndex"}) END_INTERFACE_MEMBER(GuiListControl::IItemBindingView) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) CLASS_MEMBER_METHOD(Count, NO_PARAMETER) CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) CLASS_MEMBER_METHOD(ReleaseView, {L"view"}) END_INTERFACE_MEMBER(GuiListControl::IItemProvider) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemStyleController) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(StyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemStyleId) CLASS_MEMBER_PROPERTY_READONLY_FAST(BoundsComposition) CLASS_MEMBER_METHOD(IsCacheable, NO_PARAMETER) CLASS_MEMBER_METHOD(IsInstalled, NO_PARAMETER) CLASS_MEMBER_METHOD(OnInstalled, NO_PARAMETER) CLASS_MEMBER_METHOD(OnUninstalled, NO_PARAMETER) END_INTERFACE_MEMBER(GuiListControl::IItemStyleController) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemStyleProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) CLASS_MEMBER_METHOD(GetItemStyleId, {L"itemIndex"}) CLASS_MEMBER_METHOD(CreateItemStyle, {L"styleId"}) CLASS_MEMBER_METHOD(DestroyItemStyle, {L"style"}) CLASS_MEMBER_METHOD(Install, {L"style" _ L"itemIndex"}) END_INTERFACE_MEMBER(GuiListControl::IItemStyleProvider) BEGIN_INTERFACE_MEMBER(GuiListControl::IItemArranger) CLASS_MEMBER_BASE(GuiListControl::IItemProviderCallback) CLASS_MEMBER_PROPERTY_FAST(Callback) CLASS_MEMBER_PROPERTY_READONLY_FAST(TotalSize) CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) CLASS_MEMBER_METHOD(GetVisibleStyle, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetVisibleIndex, {L"style"}) CLASS_MEMBER_METHOD(OnViewChanged, {L"bounds"}) CLASS_MEMBER_METHOD(FindItem, {L"itemIndex" _ L"key"}) CLASS_MEMBER_METHOD(EnsureItemVisible, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetAdoptedSize, {L"expectedSize"}) END_INTERFACE_MEMBER(GuiListControl::IItemArranger) BEGIN_CLASS_MEMBER(GuiSelectableListControl) CLASS_MEMBER_BASE(GuiListControl) CLASS_MEMBER_CONSTRUCTOR(GuiSelectableListControl*(GuiSelectableListControl::IStyleProvider* _ GuiSelectableListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) CLASS_MEMBER_GUIEVENT(SelectionChanged) CLASS_MEMBER_PROPERTY_FAST(MultiSelect) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItems, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItemIndex, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItemText, SelectionChanged) CLASS_MEMBER_METHOD(GetSelected, {L"itemIndex"}) CLASS_MEMBER_METHOD(SetSelected, {L"itemIndex" _ L"value"}) CLASS_MEMBER_METHOD(SelectItemsByClick, {L"itemIndex" _ L"ctrl" _ L"shift" _ L"leftButton"}) CLASS_MEMBER_METHOD(SelectItemsByKey, {L"code" _ L"ctrl" _ L"shift"}) CLASS_MEMBER_METHOD(ClearSelection, NO_PARAMETER) END_CLASS_MEMBER(GuiSelectableListControl) BEGIN_INTERFACE_MEMBER(GuiSelectableListControl::IItemStyleProvider) CLASS_MEMBER_BASE(GuiListControl::IItemStyleProvider) CLASS_MEMBER_METHOD(SetStyleSelected, {L"style" _ L"value"}) END_INTERFACE_MEMBER(GuiSelectableListControl::IItemStyleProvider) BEGIN_CLASS_MEMBER(RangedItemArrangerBase) CLASS_MEMBER_BASE(GuiListControl::IItemArranger) END_CLASS_MEMBER(RangedItemArrangerBase) BEGIN_CLASS_MEMBER(FixedHeightItemArranger) CLASS_MEMBER_BASE(RangedItemArrangerBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(FixedHeightItemArranger) BEGIN_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) CLASS_MEMBER_BASE(RangedItemArrangerBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(FixedSizeMultiColumnItemArranger) BEGIN_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) CLASS_MEMBER_BASE(RangedItemArrangerBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(FixedHeightMultiColumnItemArranger) BEGIN_CLASS_MEMBER(ItemStyleControllerBase) CLASS_MEMBER_BASE(GuiListControl::IItemStyleController) END_CLASS_MEMBER(ItemStyleControllerBase) BEGIN_CLASS_MEMBER(TextItemStyleProvider) CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(TextItemStyleProvider::IBulletFactory*), {L"bulletFactory"}) END_CLASS_MEMBER(TextItemStyleProvider) BEGIN_INTERFACE_MEMBER(TextItemStyleProvider::IBulletFactory) CLASS_MEMBER_METHOD(CreateBulletStyleController, NO_PARAMETER) END_INTERFACE_MEMBER(TextItemStyleProvider::IBulletFactory) BEGIN_INTERFACE_MEMBER(TextItemStyleProvider::ITextItemView) CLASS_MEMBER_BASE(GuiListControl::IItemPrimaryTextView) INTERFACE_IDENTIFIER(TextItemStyleProvider::ITextItemView) CLASS_MEMBER_METHOD(GetText, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetChecked, {L"itemIndex"}) CLASS_MEMBER_METHOD(SetCheckedSilently, {L"itemIndex" _ L"value"}) END_INTERFACE_MEMBER(TextItemStyleProvider::ITextItemView) BEGIN_CLASS_MEMBER(TextItem) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, bool), {L"text" _ L"checked"}) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(Checked) END_CLASS_MEMBER(TextItem) BEGIN_CLASS_MEMBER(GuiVirtualTextList) CLASS_MEMBER_BASE(GuiSelectableListControl) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTextList*(GuiVirtualTextList::IStyleProvider* _ TextItemStyleProvider::IBulletFactory* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"bulletFactory" _ L"itemProvider"}) CLASS_MEMBER_GUIEVENT(ItemChecked) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextListStyleProvider) CLASS_MEMBER_METHOD(ChangeItemStyle, {L"bulletFactory"}) END_CLASS_MEMBER(GuiVirtualTextList) BEGIN_INTERFACE_MEMBER(GuiVirtualTextList::IStyleProvider) CLASS_MEMBER_BASE(GuiSelectableListControl::IStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextColor) CLASS_MEMBER_METHOD(CreateItemBackground, NO_PARAMETER) END_INTERFACE_MEMBER(GuiVirtualTextList::IStyleProvider) BEGIN_CLASS_MEMBER(GuiTextList) CLASS_MEMBER_BASE(GuiVirtualTextList) CLASS_MEMBER_CONSTRUCTOR(GuiTextList*(GuiVirtualTextList::IStyleProvider* _ TextItemStyleProvider::IBulletFactory*), {L"styleProvider" _ L"bulletFactory"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(Items) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiTextList) BEGIN_CLASS_MEMBER(ListViewItemStyleProviderBase) CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider) END_CLASS_MEMBER(ListViewItemStyleProviderBase) BEGIN_CLASS_MEMBER(ListViewItemStyleProviderBase::ListViewItemStyleController) CLASS_MEMBER_BASE(ItemStyleControllerBase) CLASS_MEMBER_CONSTRUCTOR(ListViewItemStyleProviderBase::ListViewItemStyleController*(ListViewItemStyleProviderBase*), {L"provider"}) CLASS_MEMBER_PROPERTY_FAST(Selected) END_CLASS_MEMBER(ListViewItemStyleProviderBase::ListViewItemStyleController) BEGIN_CLASS_MEMBER(GuiListViewColumnHeader) CLASS_MEMBER_BASE(GuiMenuButton) CONTROL_CONSTRUCTOR_CONTROLLER(GuiListViewColumnHeader) CLASS_MEMBER_PROPERTY_FAST(ColumnSortingState) END_CLASS_MEMBER(GuiListViewColumnHeader) BEGIN_ENUM_ITEM(GuiListViewColumnHeader::ColumnSortingState) ENUM_ITEM_NAMESPACE(GuiListViewColumnHeader) ENUM_NAMESPACE_ITEM(NotSorted) ENUM_NAMESPACE_ITEM(Ascending) ENUM_NAMESPACE_ITEM(Descending) END_ENUM_ITEM(GuiListViewColumnHeader::ColumnSortingState) BEGIN_INTERFACE_MEMBER(GuiListViewColumnHeader::IStyleController) CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) CLASS_MEMBER_METHOD(SetColumnSortingState, {L"value"}) END_INTERFACE_MEMBER(GuiListViewColumnHeader::IStyleController) BEGIN_CLASS_MEMBER(GuiListViewBase) CLASS_MEMBER_BASE(GuiSelectableListControl) CLASS_MEMBER_CONSTRUCTOR(GuiListViewBase*(GuiListViewBase::IStyleProvider* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) CLASS_MEMBER_GUIEVENT(ColumnClicked) CLASS_MEMBER_METHOD(GetListViewStyleProvider, NO_PARAMETER) END_CLASS_MEMBER(GuiListViewBase) BEGIN_INTERFACE_MEMBER(GuiListViewBase::IStyleProvider) CLASS_MEMBER_BASE(GuiSelectableListControl::IStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(PrimaryTextColor) CLASS_MEMBER_PROPERTY_READONLY_FAST(SecondaryTextColor) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemSeparatorColor) CLASS_MEMBER_METHOD(CreateItemBackground, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateColumnStyle, NO_PARAMETER) END_INTERFACE_MEMBER(GuiListViewBase::IStyleProvider) BEGIN_CLASS_MEMBER(ListViewItemStyleProvider) CLASS_MEMBER_BASE(ListViewItemStyleProviderBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"itemContentProvider"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemContentProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(CreatedItemStyles) CLASS_MEMBER_METHOD(IsItemStyleAttachedToListView, {L"itemStyle"}) CLASS_MEMBER_METHOD(GetItemContentFromItemStyleController, {L"itemStyleController"}) CLASS_MEMBER_METHOD(GetItemStyleControllerFromItemContent, {L"itemContent"}) CLASS_MEMBER_EXTERNALMETHOD(GetItemContent, {L"itemStyleController"}, ListViewItemStyleProvider::IListViewItemContent*(ListViewItemStyleProvider::*)(GuiListControl::IItemStyleController*), vl::presentation::description::ListViewItemStyleProvider_GetItemContent) END_CLASS_MEMBER(ListViewItemStyleProvider) BEGIN_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemView) CLASS_MEMBER_BASE(GuiListControl::IItemPrimaryTextView) INTERFACE_IDENTIFIER(ListViewItemStyleProvider::IListViewItemView) CLASS_MEMBER_METHOD(GetSmallImage, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetLargeImage, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetText, {L"itemIndex"}) CLASS_MEMBER_METHOD(GetSubItem, {L"itemIndex" _ L"index"}) CLASS_MEMBER_METHOD(GetDataColumnCount, NO_PARAMETER) CLASS_MEMBER_METHOD(GetDataColumn, {L"index"}) CLASS_MEMBER_METHOD(GetColumnCount, NO_PARAMETER) CLASS_MEMBER_METHOD(GetColumnText, {L"index"}) END_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemView) BEGIN_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemContent) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContentComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(BackgroundDecorator) CLASS_MEMBER_METHOD(Install, {L"styleProvider" _ L"view" _ L"itemIndex"}) END_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemContent) BEGIN_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(CreatePreferredAxis, NO_PARAMETER) CLASS_MEMBER_METHOD(CreatePreferredArranger, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateItemContent, {L"font"}) CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) END_INTERFACE_MEMBER(ListViewItemStyleProvider::IListViewItemContentProvider) BEGIN_CLASS_MEMBER(ListViewItemStyleProvider::ListViewContentItemStyleController) CLASS_MEMBER_BASE(ListViewItemStyleProviderBase::ListViewItemStyleController) CLASS_MEMBER_CONSTRUCTOR(ListViewItemStyleProvider::ListViewContentItemStyleController*(ListViewItemStyleProvider*), {L"provider"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemContent) CLASS_MEMBER_METHOD(Install, {L"view" _ L"itemIndex"}) END_CLASS_MEMBER(ListViewItemStyleProvider::ListViewContentItemStyleController) BEGIN_CLASS_MEMBER(ListViewBigIconContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewBigIconContentProvider) BEGIN_CLASS_MEMBER(ListViewSmallIconContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewSmallIconContentProvider) BEGIN_CLASS_MEMBER(ListViewListContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewListContentProvider) BEGIN_CLASS_MEMBER(ListViewTileContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewTileContentProvider) BEGIN_CLASS_MEMBER(ListViewInformationContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewInformationContentProvider) BEGIN_CLASS_MEMBER(ListViewColumnItemArranger) CLASS_MEMBER_BASE(FixedHeightItemArranger) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(ListViewColumnItemArranger) BEGIN_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) CLASS_MEMBER_METHOD(OnColumnChanged, NO_PARAMETER) END_CLASS_MEMBER(ListViewColumnItemArranger::IColumnItemViewCallback) BEGIN_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(ListViewColumnItemArranger::IColumnItemView) CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount) CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) CLASS_MEMBER_METHOD(GetColumnText, {L"index"}) CLASS_MEMBER_METHOD(GetColumnSize, {L"index"}) CLASS_MEMBER_METHOD(SetColumnSize, {L"index" _ L"value"}) CLASS_MEMBER_METHOD(GetDropdownPopup, {L"index"}) CLASS_MEMBER_METHOD(GetSortingState, {L"index"}) END_INTERFACE_MEMBER(ListViewColumnItemArranger::IColumnItemView) BEGIN_CLASS_MEMBER(ListViewDetailContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(ListViewDetailContentProvider) BEGIN_CLASS_MEMBER(ListViewItem) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_FAST(SmallImage) CLASS_MEMBER_PROPERTY_FAST(LargeImage) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_READONLY_FAST(SubItems) CLASS_MEMBER_PROPERTY_FAST(Tag) END_CLASS_MEMBER(ListViewItem) BEGIN_CLASS_MEMBER(ListViewColumn) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), {L"text"}) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&, vint), {L"text" _ L"size"}) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(TextProperty) CLASS_MEMBER_PROPERTY_FAST(Size) CLASS_MEMBER_PROPERTY_FAST(DropdownPopup) CLASS_MEMBER_PROPERTY_FAST(SortingState) END_CLASS_MEMBER(ListViewColumn) BEGIN_CLASS_MEMBER(GuiVirtualListView) CLASS_MEMBER_BASE(GuiListViewBase) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualListView*(GuiVirtualListView::IStyleProvider* _ GuiListControl::IItemProvider*), {L"styleProvider" _ L"itemProvider"}) CLASS_MEMBER_METHOD(ChangeItemStyle, {L"contentProvider"}) END_CLASS_MEMBER(GuiVirtualListView) BEGIN_CLASS_MEMBER(GuiListView) CLASS_MEMBER_BASE(GuiVirtualListView) CONTROL_CONSTRUCTOR_PROVIDER(GuiListView) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataColumns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Columns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Items) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiListView) BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiMenuService) INTERFACE_IDENTIFIER(IGuiMenuService) CLASS_MEMBER_METHOD(GetParentMenuService, NO_PARAMETER) CLASS_MEMBER_METHOD(GetPreferredDirection, NO_PARAMETER) CLASS_MEMBER_METHOD(IsActiveState, NO_PARAMETER) CLASS_MEMBER_METHOD(IsSubMenuActivatedByMouseDown, NO_PARAMETER) CLASS_MEMBER_METHOD(MenuItemExecuted, NO_PARAMETER) CLASS_MEMBER_METHOD(GetOpeningMenu, NO_PARAMETER) CLASS_MEMBER_METHOD(MenuOpened, {L"menu"}) CLASS_MEMBER_METHOD(MenuClosed, {L"menu"}) END_INTERFACE_MEMBER(IGuiMenuService) BEGIN_ENUM_ITEM(IGuiMenuService::Direction) ENUM_ITEM_NAMESPACE(IGuiMenuService) ENUM_NAMESPACE_ITEM(Horizontal) ENUM_NAMESPACE_ITEM(Vertical) END_ENUM_ITEM(IGuiMenuService::Direction) BEGIN_CLASS_MEMBER(GuiMenu) CLASS_MEMBER_BASE(GuiPopup) CLASS_MEMBER_CONSTRUCTOR(GuiMenu*(GuiMenu::IStyleController* _ GuiControl*), {L"styleController" _ L"owner"}) CLASS_MEMBER_METHOD(UpdateMenuService, NO_PARAMETER) CLASS_MEMBER_METHOD(QueryService, {L"identifier"}) END_CLASS_MEMBER(GuiMenu) BEGIN_CLASS_MEMBER(GuiMenuBar) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiMenuBar) END_CLASS_MEMBER(GuiMenuBar) BEGIN_CLASS_MEMBER(GuiMenuButton) CLASS_MEMBER_BASE(GuiSelectableButton) CONTROL_CONSTRUCTOR_CONTROLLER(GuiMenuButton) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(Image) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ShortcutText) CLASS_MEMBER_PROPERTY_READONLY_FAST(SubMenu) CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnedSubMenu) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SubMenuOpening) CLASS_MEMBER_PROPERTY_FAST(PreferredMenuClientSize) CLASS_MEMBER_PROPERTY_FAST(CascadeAction) CLASS_MEMBER_METHOD(IsSubMenuExists, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateSubMenu, {L"subMenuStyleController"}) CLASS_MEMBER_METHOD(SetSubMenu, {L"value" _ L"owned"}) END_CLASS_MEMBER(GuiMenuButton) BEGIN_INTERFACE_MEMBER(GuiMenuButton::IStyleController) CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController) CLASS_MEMBER_METHOD(CreateSubMenuStyleController, NO_PARAMETER) CLASS_MEMBER_METHOD(SetSubMenuExisting, {L"value"}) CLASS_MEMBER_METHOD(SetSubMenuOpening, {L"value"}) CLASS_MEMBER_METHOD(GetSubMenuHost, NO_PARAMETER) CLASS_MEMBER_METHOD(SetImage, {L"value"}) CLASS_MEMBER_METHOD(SetShortcutText, {L"value"}) END_INTERFACE_MEMBER(GuiMenuButton::IStyleController) BEGIN_INTERFACE_MEMBER_NOPROXY(INodeProviderCallback) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(OnAttached, {L"provider"}) CLASS_MEMBER_METHOD(OnBeforeItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) CLASS_MEMBER_METHOD(OnAfterItemModified, {L"parentNode" _ L"start" _ L"count" _ L"newCount"}) CLASS_MEMBER_METHOD(OnItemExpanded, {L"node"}) CLASS_MEMBER_METHOD(OnItemCollapsed, {L"node"}) END_INTERFACE_MEMBER(INodeProviderCallback) BEGIN_INTERFACE_MEMBER(INodeProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_FAST(Expanding) CLASS_MEMBER_PROPERTY_READONLY_FAST(ChildCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(Parent) CLASS_MEMBER_METHOD(CalculateTotalVisibleNodes, NO_PARAMETER) CLASS_MEMBER_METHOD(GetChild, {L"index"}) CLASS_MEMBER_METHOD(Increase, NO_PARAMETER) CLASS_MEMBER_METHOD(Release, NO_PARAMETER) END_INTERFACE_MEMBER(INodeProvider) BEGIN_INTERFACE_MEMBER(INodeRootProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) CLASS_MEMBER_METHOD(CanGetNodeByVisibleIndex, NO_PARAMETER) CLASS_MEMBER_METHOD(GetNodeByVisibleIndex, {L"index"}) CLASS_MEMBER_METHOD(AttachCallback, {L"value"}) CLASS_MEMBER_METHOD(DetachCallback, {L"value"}) CLASS_MEMBER_METHOD(RequestView, {L"identifier"}) CLASS_MEMBER_METHOD(ReleaseView, {L"value"}) END_INTERFACE_MEMBER(INodeRootProvider) BEGIN_INTERFACE_MEMBER(INodeItemView) CLASS_MEMBER_BASE(GuiListControl::IItemPrimaryTextView) INTERFACE_IDENTIFIER(INodeItemView) CLASS_MEMBER_METHOD(RequestNode, {L"index"}) CLASS_MEMBER_METHOD(ReleaseNode, {L"node"}) CLASS_MEMBER_METHOD(CalculateNodeVisibilityIndex, {L"node"}) END_INTERFACE_MEMBER(INodeItemView) BEGIN_INTERFACE_MEMBER(INodeItemPrimaryTextView) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(INodeItemPrimaryTextView) CLASS_MEMBER_METHOD(GetPrimaryTextViewText, {L"node"}) END_INTERFACE_MEMBER(INodeItemPrimaryTextView) BEGIN_INTERFACE_MEMBER(INodeItemBindingView) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(INodeItemBindingView) CLASS_MEMBER_METHOD(GetBindingValue, {L"node"}) END_INTERFACE_MEMBER(INodeItemBindingView) BEGIN_INTERFACE_MEMBER(INodeItemStyleController) CLASS_MEMBER_BASE(GuiListControl::IItemStyleController) CLASS_MEMBER_PROPERTY_READONLY_FAST(NodeStyleProvider) END_INTERFACE_MEMBER(INodeItemStyleController) BEGIN_INTERFACE_MEMBER(INodeItemStyleProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(BindedItemStyleProvider) CLASS_MEMBER_METHOD(BindItemStyleProvider, {L"styleProvider"}) CLASS_MEMBER_METHOD(AttachListControl, {L"value"}) CLASS_MEMBER_METHOD(DetachListControl, NO_PARAMETER) CLASS_MEMBER_METHOD(GetItemStyleId, {L"node"}) CLASS_MEMBER_METHOD(CreateItemStyle, {L"styleId"}) CLASS_MEMBER_METHOD(DestroyItemStyle, {L"style"}) CLASS_MEMBER_METHOD(Install, {L"style" _ L"node" _ L"index"}) CLASS_MEMBER_METHOD(SetStyleIndex, {L"style" _ L"value"}) CLASS_MEMBER_METHOD(SetStyleSelected, {L"style" _ L"value"}) END_INTERFACE_MEMBER(INodeItemStyleProvider) BEGIN_CLASS_MEMBER(NodeItemStyleProvider) CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"provider"}) END_CLASS_MEMBER(NodeItemStyleProvider) BEGIN_INTERFACE_MEMBER(IMemoryNodeData) CLASS_MEMBER_BASE(IDescriptable) END_INTERFACE_MEMBER(IMemoryNodeData) BEGIN_CLASS_MEMBER(MemoryNodeProvider) CLASS_MEMBER_BASE(INodeProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"data"}) CLASS_MEMBER_PROPERTY_FAST(Data) CLASS_MEMBER_METHOD(NotifyDataModified, NO_PARAMETER) CLASS_MEMBER_METHOD_RENAME(GetChildren, Children, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Children, GetChildren) END_CLASS_MEMBER(MemoryNodeProvider) BEGIN_CLASS_MEMBER(NodeRootProviderBase) CLASS_MEMBER_BASE(INodeRootProvider) END_CLASS_MEMBER(NodeRootProviderBase) BEGIN_CLASS_MEMBER(MemoryNodeRootProvider) CLASS_MEMBER_BASE(MemoryNodeProvider) CLASS_MEMBER_BASE(NodeRootProviderBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY_FAST(RootNode) CLASS_MEMBER_METHOD(GetMemoryNode, {L"node"}) END_CLASS_MEMBER(MemoryNodeRootProvider) BEGIN_CLASS_MEMBER(GuiVirtualTreeListControl) CLASS_MEMBER_BASE(GuiSelectableListControl) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTreeListControl*(GuiVirtualTreeListControl::IStyleProvider* _ Ptr), {L"styleProvider" _ L"rootNodeProvider"}) CLASS_MEMBER_GUIEVENT(NodeLeftButtonDown) CLASS_MEMBER_GUIEVENT(NodeLeftButtonUp) CLASS_MEMBER_GUIEVENT(NodeLeftButtonDoubleClick) CLASS_MEMBER_GUIEVENT(NodeMiddleButtonDown) CLASS_MEMBER_GUIEVENT(NodeMiddleButtonUp) CLASS_MEMBER_GUIEVENT(NodeMiddleButtonDoubleClick) CLASS_MEMBER_GUIEVENT(NodeRightButtonDown) CLASS_MEMBER_GUIEVENT(NodeRightButtonUp) CLASS_MEMBER_GUIEVENT(NodeRightButtonDoubleClick) CLASS_MEMBER_GUIEVENT(NodeMouseMove) CLASS_MEMBER_GUIEVENT(NodeMouseEnter) CLASS_MEMBER_GUIEVENT(NodeMouseLeave) CLASS_MEMBER_GUIEVENT(NodeExpanded) CLASS_MEMBER_GUIEVENT(NodeCollapsed) CLASS_MEMBER_PROPERTY_READONLY_FAST(NodeItemView) CLASS_MEMBER_PROPERTY_READONLY_FAST(NodeRootProvider) CLASS_MEMBER_PROPERTY_FAST(NodeStyleProvider) END_CLASS_MEMBER(GuiVirtualTreeListControl) BEGIN_INTERFACE_MEMBER(ITreeViewItemView) CLASS_MEMBER_BASE(INodeItemPrimaryTextView) INTERFACE_IDENTIFIER(ITreeViewItemView) CLASS_MEMBER_METHOD(GetNodeImage, {L"node"}) CLASS_MEMBER_METHOD(GetNodeText, {L"node"}) END_INTERFACE_MEMBER(ITreeViewItemView) BEGIN_CLASS_MEMBER(TreeViewItem) CLASS_MEMBER_BASE(IMemoryNodeData) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(const Ptr&, const WString&), {L"image" _ L"text"}) CLASS_MEMBER_FIELD(image) CLASS_MEMBER_FIELD(text) CLASS_MEMBER_FIELD(tag) END_CLASS_MEMBER(TreeViewItem) BEGIN_CLASS_MEMBER(TreeViewItemRootProvider) CLASS_MEMBER_BASE(MemoryNodeRootProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_METHOD(GetTreeViewData, {L"node"}) CLASS_MEMBER_METHOD(SetTreeViewData, {L"node" _ L"value"}) CLASS_MEMBER_METHOD(UpdateTreeViewData, {L"node"}) END_CLASS_MEMBER(TreeViewItemRootProvider) BEGIN_CLASS_MEMBER(GuiVirtualTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeListControl) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualTreeView*(GuiVirtualTreeView::IStyleProvider* _ Ptr), {L"styleProvider" _ L"rootNodeProvider"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(TreeViewStyleProvider) END_CLASS_MEMBER(GuiVirtualTreeView) BEGIN_INTERFACE_MEMBER(GuiVirtualTreeView::IStyleProvider) CLASS_MEMBER_BASE(GuiVirtualTreeListControl::IStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextColor) CLASS_MEMBER_METHOD(CreateItemBackground, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateItemExpandingDecorator, NO_PARAMETER) END_INTERFACE_MEMBER(GuiVirtualTreeView::IStyleProvider) BEGIN_CLASS_MEMBER(GuiTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeView) CONTROL_CONSTRUCTOR_PROVIDER(GuiTreeView) CLASS_MEMBER_METHOD_RENAME(GetNodes, Nodes, NO_PARAMETER) CLASS_MEMBER_PROPERTY_READONLY(Nodes, GetNodes) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiTreeView) BEGIN_CLASS_MEMBER(TreeViewNodeItemStyleProvider) CLASS_MEMBER_BASE(INodeItemStyleProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Size, bool), {L"minIconSize" _ L"fitImage"}) END_CLASS_MEMBER(TreeViewNodeItemStyleProvider) BEGIN_CLASS_MEMBER(GuiComboBoxBase) CLASS_MEMBER_BASE(GuiMenuButton) CONTROL_CONSTRUCTOR_CONTROLLER(GuiComboBoxBase) CLASS_MEMBER_GUIEVENT(ItemSelected) END_CLASS_MEMBER(GuiComboBoxBase) BEGIN_CLASS_MEMBER(GuiComboBoxBase::ICommandExecutor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(SelectItem, NO_PARAMETER) END_CLASS_MEMBER(GuiComboBoxBase::ICommandExecutor) BEGIN_INTERFACE_MEMBER(GuiComboBoxBase::IStyleController) CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(OnItemSelected, NO_PARAMETER) END_INTERFACE_MEMBER(GuiComboBoxBase::IStyleController) BEGIN_CLASS_MEMBER(GuiComboBoxListControl) CLASS_MEMBER_BASE(GuiComboBoxBase) CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxListControl*(GuiComboBoxListControl::IStyleController* _ GuiSelectableListControl*), {L"styleController" _ L"containedListControl"}) CLASS_MEMBER_PROPERTY_FAST(Font) CLASS_MEMBER_PROPERTY_READONLY_FAST(ContainedListControl) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(StyleProvider) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedIndex) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectedIndexChanged) CLASS_MEMBER_PROPERTY_READONLY_FAST(ItemProvider) END_CLASS_MEMBER(GuiComboBoxListControl) BEGIN_INTERFACE_MEMBER(GuiComboBoxListControl::IStyleController) CLASS_MEMBER_BASE(GuiComboBoxBase::IStyleController) CLASS_MEMBER_METHOD(SetTextVisible, {L"value"}) END_INTERFACE_MEMBER(GuiComboBoxListControl::IStyleController) BEGIN_INTERFACE_MEMBER(GuiComboBoxListControl::IItemStyleProvider) CLASS_MEMBER_METHOD(AttachComboBox, {L"value"}) CLASS_MEMBER_METHOD(DetachComboBox, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateItemStyle, {L"item"}) END_INTERFACE_MEMBER(GuiComboBoxListControl::IItemStyleProvider) BEGIN_CLASS_MEMBER(GuiToolstripCommand) CLASS_MEMBER_BASE(GuiComponent) CLASS_MEMBER_CONSTRUCTOR(GuiToolstripCommand*(), NO_PARAMETER) CLASS_MEMBER_GUIEVENT(Executed) CLASS_MEMBER_GUIEVENT(DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(Image, DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(Text, DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(Shortcut, DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(ShortcutBuilder, DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(Enabled, DescriptionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(Selected, DescriptionChanged) END_CLASS_MEMBER(GuiToolstripCommand) BEGIN_CLASS_MEMBER(GuiToolstripMenu) CLASS_MEMBER_BASE(GuiMenu) CLASS_MEMBER_CONSTRUCTOR(GuiToolstripMenu*(GuiToolstripMenu::IStyleController* _ GuiControl*), {L"styleController" _ L"owner"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripMenu) BEGIN_CLASS_MEMBER(GuiToolstripMenuBar) CLASS_MEMBER_BASE(GuiMenuBar) CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripMenuBar) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripMenuBar) BEGIN_CLASS_MEMBER(GuiToolstripToolBar) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripToolBar) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripItems) END_CLASS_MEMBER(GuiToolstripToolBar) BEGIN_CLASS_MEMBER(GuiToolstripButton) CLASS_MEMBER_BASE(GuiMenuButton) CONTROL_CONSTRUCTOR_CONTROLLER(GuiToolstripButton) CLASS_MEMBER_PROPERTY_FAST(Command) CLASS_MEMBER_PROPERTY_READONLY_FAST(ToolstripSubMenu) CLASS_MEMBER_METHOD(EnsureToolstripSubMenu, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateToolstripSubMenu, {L"subMenuStyleController"}) END_CLASS_MEMBER(GuiToolstripButton) BEGIN_CLASS_MEMBER(GuiDocumentItem) CLASS_MEMBER_CONSTRUCTOR(Ptr(const WString&), { L"name" }) CLASS_MEMBER_PROPERTY_READONLY_FAST(Container) CLASS_MEMBER_PROPERTY_READONLY_FAST(Name) END_CLASS_MEMBER(GuiDocumentItem) BEGIN_CLASS_MEMBER(GuiDocumentCommonInterface) CLASS_MEMBER_PROPERTY_FAST(Document) CLASS_MEMBER_PROPERTY_FAST(EditMode) CLASS_MEMBER_GUIEVENT(ActiveHyperlinkChanged) CLASS_MEMBER_GUIEVENT(ActiveHyperlinkExecuted) CLASS_MEMBER_GUIEVENT(SelectionChanged) CLASS_MEMBER_METHOD(AddDocumentItem, { L"value" }) CLASS_MEMBER_METHOD(RemoveDocumentItem, { L"value" }) CLASS_MEMBER_PROPERTY_READONLY_FAST(DocumentItems) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretBegin) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretEnd) CLASS_MEMBER_PROPERTY_READONLY_FAST(ActiveHyperlinkReference) CLASS_MEMBER_PROPERTY_EVENT_FAST(SelectionText, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(SelectionModel, SelectionChanged) CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"}) CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"}) CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"}) CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"}) CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model"}) CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text"}) CLASS_MEMBER_METHOD(EditStyle, {L"begin" _ L"end" _ L"style"}) CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"}) CLASS_MEMBER_METHOD(EditImage, {L"paragraphIndex" _ L"begin" _ L"end" _ L"reference" _ L"normalStyleName" _ L"activeStyleName"}) CLASS_MEMBER_METHOD(RemoveHyperlink, {L"paragraphIndex" _ L"begin" _ L"end"}) CLASS_MEMBER_METHOD(EditStyleName, {L"begin" _ L"end" _ L"styleName"}) CLASS_MEMBER_METHOD(RemoveStyleName, {L"begin" _ L"end" _ L"image"}) CLASS_MEMBER_METHOD(RenameStyle, {L"oldStyleName" _ L"newStyleName"}) CLASS_MEMBER_METHOD(ClearStyle, {L"begin" _ L"end"}) CLASS_MEMBER_METHOD(SummarizeStyle, {L"begin" _ L"end"}) CLASS_MEMBER_METHOD(SetParagraphAlignment, {L"begin" _ L"end" _ L"alignments"}) CLASS_MEMBER_METHOD(SelectAll, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER) CLASS_MEMBER_METHOD(CanPaste, NO_PARAMETER) CLASS_MEMBER_METHOD(Cut, NO_PARAMETER) CLASS_MEMBER_METHOD(Copy, NO_PARAMETER) CLASS_MEMBER_METHOD(Paste, NO_PARAMETER) CLASS_MEMBER_METHOD(CanUndo, NO_PARAMETER) CLASS_MEMBER_METHOD(CanRedo, NO_PARAMETER) CLASS_MEMBER_METHOD(ClearUndoRedo, NO_PARAMETER) CLASS_MEMBER_METHOD(NotifyModificationSaved, NO_PARAMETER) CLASS_MEMBER_METHOD(Undo, NO_PARAMETER) CLASS_MEMBER_METHOD(Redo, NO_PARAMETER) END_CLASS_MEMBER(GuiDocumentCommonInterface) BEGIN_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) ENUM_ITEM_NAMESPACE(GuiDocumentCommonInterface) ENUM_NAMESPACE_ITEM(ViewOnly) ENUM_NAMESPACE_ITEM(Selectable) ENUM_NAMESPACE_ITEM(Editable) END_ENUM_ITEM(GuiDocumentCommonInterface::EditMode) BEGIN_CLASS_MEMBER(GuiDocumentViewer) CLASS_MEMBER_BASE(GuiScrollContainer) CLASS_MEMBER_BASE(GuiDocumentCommonInterface) CONTROL_CONSTRUCTOR_PROVIDER(GuiDocumentViewer) END_CLASS_MEMBER(GuiDocumentViewer) BEGIN_INTERFACE_MEMBER(GuiDocumentViewer::IStyleProvider) CLASS_MEMBER_BASE(GuiScrollContainer::IStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(BaselineDocument) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretColor) END_INTERFACE_MEMBER(GuiDocumentViewer::IStyleProvider) BEGIN_CLASS_MEMBER(GuiDocumentLabel) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiDocumentCommonInterface) CONTROL_CONSTRUCTOR_CONTROLLER(GuiDocumentLabel) END_CLASS_MEMBER(GuiDocumentLabel) BEGIN_INTERFACE_MEMBER(GuiDocumentLabel::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_PROPERTY_READONLY_FAST(BaselineDocument) END_INTERFACE_MEMBER(GuiDocumentLabel::IStyleProvider) BEGIN_CLASS_MEMBER(GuiTextBoxCommonInterface) CLASS_MEMBER_GUIEVENT(SelectionChanged) CLASS_MEMBER_PROPERTY_FAST(Readonly) CLASS_MEMBER_PROPERTY_EVENT_FAST(SelectionText, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(CaretBegin, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(CaretEnd, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(CaretSmall, SelectionChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(CaretLarge, SelectionChanged) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowHeight) CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxWidth) CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxHeight) CLASS_MEMBER_PROPERTY_READONLY_FAST(EditVersion) CLASS_MEMBER_PROPERTY_READONLY_FAST(Modified) CLASS_MEMBER_METHOD(CanCut, NO_PARAMETER) CLASS_MEMBER_METHOD(CanCopy, NO_PARAMETER) CLASS_MEMBER_METHOD(CanPaste, NO_PARAMETER) CLASS_MEMBER_METHOD(Cut, NO_PARAMETER) CLASS_MEMBER_METHOD(Copy, NO_PARAMETER) CLASS_MEMBER_METHOD(Paste, NO_PARAMETER) CLASS_MEMBER_METHOD(SelectAll, NO_PARAMETER) CLASS_MEMBER_METHOD(Select, {L"begin" _ L"end"}) CLASS_MEMBER_METHOD(SetSelectionTextAsKeyInput, {L"value"}) CLASS_MEMBER_METHOD(GetRowText, {L"row"}) CLASS_MEMBER_METHOD(GetFragmentText, {L"start" _ L"end"}) CLASS_MEMBER_METHOD(GetRowWidth, {L"row"}) CLASS_MEMBER_METHOD(GetTextPosFromPoint, {L"point"}) CLASS_MEMBER_METHOD(GetPointFromTextPos, {L"pos"}) CLASS_MEMBER_METHOD(GetRectFromTextPos, {L"pos"}) CLASS_MEMBER_METHOD(GetNearestTextPos, {L"point"}) CLASS_MEMBER_METHOD(CanUndo, NO_PARAMETER) CLASS_MEMBER_METHOD(CanRedo, NO_PARAMETER) CLASS_MEMBER_METHOD(ClearUndoRedo, NO_PARAMETER) CLASS_MEMBER_METHOD(NotifyModificationSaved, NO_PARAMETER) CLASS_MEMBER_METHOD(Undo, NO_PARAMETER) CLASS_MEMBER_METHOD(Redo, NO_PARAMETER) END_CLASS_MEMBER(GuiTextBoxCommonInterface) BEGIN_CLASS_MEMBER(GuiMultilineTextBox) CLASS_MEMBER_BASE(GuiScrollView) CLASS_MEMBER_BASE(GuiTextBoxCommonInterface) CONTROL_CONSTRUCTOR_PROVIDER(GuiMultilineTextBox) END_CLASS_MEMBER(GuiMultilineTextBox) BEGIN_CLASS_MEMBER(GuiSinglelineTextBox) CLASS_MEMBER_BASE(GuiControl) CLASS_MEMBER_BASE(GuiTextBoxCommonInterface) CONTROL_CONSTRUCTOR_PROVIDER(GuiSinglelineTextBox) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) END_CLASS_MEMBER(GuiSinglelineTextBox) BEGIN_INTERFACE_MEMBER(GuiSinglelineTextBox::IStyleProvider) CLASS_MEMBER_BASE(GuiControl::IStyleProvider) CLASS_MEMBER_METHOD(InstallBackground, {L"background"}) END_INTERFACE_MEMBER(GuiSinglelineTextBox::IStyleProvider) BEGIN_INTERFACE_MEMBER(IDataVisualizerFactory) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(CreateVisualizer, {L"font" _ L"styleProvider"}) END_INTERFACE_MEMBER(IDataVisualizerFactory) BEGIN_INTERFACE_MEMBER(IDataVisualizer) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) CLASS_MEMBER_PROPERTY_READONLY_FAST(BoundsComposition) CLASS_MEMBER_PROPERTY_READONLY_FAST(DecoratedDataVisualizer) CLASS_MEMBER_METHOD(BeforeVisualizeCell, {L"dataProvider" _ L"row" _ L"column"}) CLASS_MEMBER_METHOD(SetSelected, {L"value"}) END_INTERFACE_MEMBER(IDataVisualizer) BEGIN_CLASS_MEMBER(IDataEditorCallback) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(RequestSaveData, NO_PARAMETER); END_CLASS_MEMBER(IDataEditorCallback) BEGIN_INTERFACE_MEMBER(IDataEditorFactory) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(CreateEditor, {L"callback"}) END_INTERFACE_MEMBER(IDataEditorFactory) BEGIN_INTERFACE_MEMBER(IDataEditor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(Factory) CLASS_MEMBER_PROPERTY_READONLY_FAST(BoundsComposition) CLASS_MEMBER_METHOD(BeforeEditCell, {L"dataProvider" _ L"row" _ L"column"}) CLASS_MEMBER_METHOD(ReinstallEditor, NO_PARAMETER) END_INTERFACE_MEMBER(IDataEditor) BEGIN_CLASS_MEMBER(IDataProviderCommandExecutor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(OnDataProviderColumnChanged, NO_PARAMETER) CLASS_MEMBER_METHOD(OnDataProviderItemModified, {L"start" _ L"count" _ L"newCount"}) END_CLASS_MEMBER(IDataProviderCommandExecutor) BEGIN_INTERFACE_MEMBER(IDataProvider) CLASS_MEMBER_BASE(IDescriptable) INTERFACE_IDENTIFIER(IDataProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(SortedColumn) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(GetColumnText, {L"column"}) CLASS_MEMBER_METHOD(GetColumnSize, {L"column"}) CLASS_MEMBER_METHOD(SetColumnSize, {L"column" _ L"value"}) CLASS_MEMBER_METHOD(GetColumnPopup, {L"column"}) CLASS_MEMBER_METHOD(IsColumnSortable, {L"column"}) CLASS_MEMBER_METHOD(SortByColumn, {L"column" _ L"ascending"}) CLASS_MEMBER_METHOD(IsSortOrderAscending, NO_PARAMETER) CLASS_MEMBER_METHOD(GetRowLargeImage, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(GetRowSmallImage, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(GetCellSpan, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(GetCellText, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(GetCellDataVisualizerFactory, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(VisualizeCell, {L"row" _ L"column" _ L"dataVisualizer"}) CLASS_MEMBER_METHOD(GetCellDataEditorFactory, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(BeforeEditCell, {L"row" _ L"column" _ L"dataEditor"}) CLASS_MEMBER_METHOD(SaveCellData, {L"row" _ L"column" _ L"dataEditor"}) END_INTERFACE_MEMBER(IDataProvider) BEGIN_CLASS_MEMBER(IStructuredDataFilterCommandExecutor) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(OnFilterChanged, NO_PARAMETER) END_CLASS_MEMBER(IStructuredDataFilterCommandExecutor) BEGIN_INTERFACE_MEMBER(IStructuredDataFilter) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(Filter, {L"row"}) END_INTERFACE_MEMBER(IStructuredDataFilter) BEGIN_INTERFACE_MEMBER(IStructuredDataSorter) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_METHOD(Compare, {L"row1" _ L"row2"}) END_INTERFACE_MEMBER(IStructuredDataSorter) BEGIN_INTERFACE_MEMBER(IStructuredColumnProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(Size) CLASS_MEMBER_PROPERTY_FAST(SortingState) CLASS_MEMBER_PROPERTY_READONLY_FAST(Popup) CLASS_MEMBER_PROPERTY_READONLY_FAST(InherentFilter) CLASS_MEMBER_PROPERTY_READONLY_FAST(InherentSorter) CLASS_MEMBER_METHOD(GetCellText, {L"row"}) CLASS_MEMBER_METHOD(GetCellDataVisualizerFactory, {L"row"}) CLASS_MEMBER_METHOD(VisualizeCell, {L"row" _ L"dataVisualizer"}) CLASS_MEMBER_METHOD(GetCellDataEditorFactory, {L"row"}) CLASS_MEMBER_METHOD(BeforeEditCell, {L"row" _ L"dataEditor"}) CLASS_MEMBER_METHOD(SaveCellData, {L"row" _ L"dataEditor"}) END_INTERFACE_MEMBER(IStructuredColumnProvider) BEGIN_INTERFACE_MEMBER(IStructuredDataProvider) CLASS_MEMBER_BASE(IDescriptable) CLASS_MEMBER_PROPERTY_READONLY_FAST(ColumnCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowCount) CLASS_MEMBER_METHOD(SetCommandExecutor, {L"value"}) CLASS_MEMBER_METHOD(GetColumn, {L"column"}) CLASS_MEMBER_METHOD(GetRowLargeImage, {L"row"}) CLASS_MEMBER_METHOD(GetRowSmallImage, {L"row"}) END_INTERFACE_MEMBER(IStructuredDataProvider) BEGIN_CLASS_MEMBER(DataGridContentProvider) CLASS_MEMBER_BASE(ListViewItemStyleProvider::IListViewItemContentProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(DataGridContentProvider) BEGIN_CLASS_MEMBER(GuiVirtualDataGrid) CLASS_MEMBER_BASE(GuiVirtualListView) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualDataGrid*(GuiVirtualListView::IStyleProvider* _ list::IDataProvider*), {L"styleProvider" _ L"dataProvider"}) CLASS_MEMBER_CONSTRUCTOR(GuiVirtualDataGrid*(GuiVirtualListView::IStyleProvider* _ list::IStructuredDataProvider*), {L"styleProvider" _ L"dataProvider"}) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SelectedCell) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(StructuredDataProvider) END_CLASS_MEMBER(GuiVirtualDataGrid) BEGIN_CLASS_MEMBER(StructuredDataFilterBase) CLASS_MEMBER_BASE(IStructuredDataFilter) END_CLASS_MEMBER(StructuredDataFilterBase) BEGIN_CLASS_MEMBER(StructuredDataMultipleFilter) CLASS_MEMBER_BASE(StructuredDataFilterBase) CLASS_MEMBER_METHOD(AddSubFilter, {L"value"}) CLASS_MEMBER_METHOD(RemoveSubFilter, {L"value"}) END_CLASS_MEMBER(StructuredDataMultipleFilter) BEGIN_CLASS_MEMBER(StructuredDataAndFilter) CLASS_MEMBER_BASE(StructuredDataMultipleFilter) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(StructuredDataAndFilter) BEGIN_CLASS_MEMBER(StructuredDataOrFilter) CLASS_MEMBER_BASE(StructuredDataMultipleFilter) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(StructuredDataOrFilter) BEGIN_CLASS_MEMBER(StructuredDataNotFilter) CLASS_MEMBER_BASE(StructuredDataFilterBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_METHOD(SetSubFilter, {L"value"}) END_CLASS_MEMBER(StructuredDataNotFilter) BEGIN_CLASS_MEMBER(StructuredDataMultipleSorter) CLASS_MEMBER_BASE(IStructuredDataSorter) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_METHOD(SetLeftSorter, {L"value"}) CLASS_MEMBER_METHOD(SetRightSorter, {L"value"}) END_CLASS_MEMBER(StructuredDataMultipleSorter) BEGIN_CLASS_MEMBER(StructuredDataReverseSorter) CLASS_MEMBER_BASE(IStructuredDataSorter) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_METHOD(SetSubSorter, {L"value"}) END_CLASS_MEMBER(StructuredDataReverseSorter) BEGIN_CLASS_MEMBER(StructuredDataProvider) CLASS_MEMBER_BASE(IDataProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(StructuredDataProvider) CLASS_MEMBER_PROPERTY_FAST(AdditionalFilter) END_CLASS_MEMBER(StructuredDataProvider) BEGIN_CLASS_MEMBER(StructuredColummProviderBase) CLASS_MEMBER_BASE(IStructuredColumnProvider) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(Popup) CLASS_MEMBER_PROPERTY_FAST(InherentFilter) CLASS_MEMBER_PROPERTY_FAST(InherentSorter) CLASS_MEMBER_PROPERTY_FAST(VisualizerFactory) CLASS_MEMBER_PROPERTY_FAST(EditorFactory) END_CLASS_MEMBER(StructuredColummProviderBase) BEGIN_CLASS_MEMBER(StructuredDataProviderBase) CLASS_MEMBER_BASE(IStructuredDataProvider) END_CLASS_MEMBER(StructuredDataProviderBase) BEGIN_CLASS_MEMBER(ListViewMainColumnDataVisualizer) CLASS_MEMBER_BASE(IDataVisualizer) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextElement) END_CLASS_MEMBER(ListViewMainColumnDataVisualizer) BEGIN_CLASS_MEMBER(ListViewMainColumnDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(ListViewMainColumnDataVisualizer::Factory) BEGIN_CLASS_MEMBER(ListViewSubColumnDataVisualizer) CLASS_MEMBER_BASE(IDataVisualizer) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextElement) END_CLASS_MEMBER(ListViewSubColumnDataVisualizer) BEGIN_CLASS_MEMBER(ListViewSubColumnDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(ListViewSubColumnDataVisualizer::Factory) BEGIN_CLASS_MEMBER(HyperlinkDataVisualizer) CLASS_MEMBER_BASE(ListViewSubColumnDataVisualizer) END_CLASS_MEMBER(HyperlinkDataVisualizer) BEGIN_CLASS_MEMBER(HyperlinkDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(HyperlinkDataVisualizer::Factory) BEGIN_CLASS_MEMBER(ImageDataVisualizer) CLASS_MEMBER_BASE(IDataVisualizer) CLASS_MEMBER_PROPERTY_READONLY_FAST(ImageElement) END_CLASS_MEMBER(ImageDataVisualizer) BEGIN_CLASS_MEMBER(ImageDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(ImageDataVisualizer::Factory) BEGIN_CLASS_MEMBER(CellBorderDataVisualizer) CLASS_MEMBER_BASE(IDataVisualizer) END_CLASS_MEMBER(CellBorderDataVisualizer) BEGIN_CLASS_MEMBER(CellBorderDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"decoratedFactory"}) END_CLASS_MEMBER(CellBorderDataVisualizer::Factory) BEGIN_CLASS_MEMBER(NotifyIconDataVisualizer) CLASS_MEMBER_BASE(IDataVisualizer) CLASS_MEMBER_PROPERTY_READONLY_FAST(LeftImageElement) CLASS_MEMBER_PROPERTY_READONLY_FAST(RightImageElement) END_CLASS_MEMBER(NotifyIconDataVisualizer) BEGIN_CLASS_MEMBER(NotifyIconDataVisualizer::Factory) CLASS_MEMBER_BASE(IDataVisualizerFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), {L"decoratedFactory"}) END_CLASS_MEMBER(NotifyIconDataVisualizer::Factory) BEGIN_CLASS_MEMBER(TextBoxDataEditor) CLASS_MEMBER_BASE(IDataEditor) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextBox) END_CLASS_MEMBER(TextBoxDataEditor) BEGIN_CLASS_MEMBER(TextBoxDataEditor::Factory) CLASS_MEMBER_BASE(IDataEditorFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(TextBoxDataEditor::Factory) BEGIN_CLASS_MEMBER(TextComboBoxDataEditor) CLASS_MEMBER_BASE(IDataEditor) CLASS_MEMBER_PROPERTY_READONLY_FAST(ComboBoxControl) CLASS_MEMBER_PROPERTY_READONLY_FAST(TextListControl) END_CLASS_MEMBER(TextComboBoxDataEditor) BEGIN_CLASS_MEMBER(TextComboBoxDataEditor::Factory) CLASS_MEMBER_BASE(IDataEditorFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(TextComboBoxDataEditor::Factory) BEGIN_CLASS_MEMBER(DateComboBoxDataEditor) CLASS_MEMBER_BASE(IDataEditor) CLASS_MEMBER_PROPERTY_READONLY_FAST(ComboBoxControl) CLASS_MEMBER_PROPERTY_READONLY_FAST(DatePickerControl) END_CLASS_MEMBER(DateComboBoxDataEditor) BEGIN_CLASS_MEMBER(DateComboBoxDataEditor::Factory) CLASS_MEMBER_BASE(IDataEditorFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(DateComboBoxDataEditor::Factory) BEGIN_CLASS_MEMBER(GuiDatePicker) CLASS_MEMBER_BASE(GuiControl) CONTROL_CONSTRUCTOR_PROVIDER(GuiDatePicker) CLASS_MEMBER_PROPERTY_EVENT_FAST(Date, DateChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(DateFormat, DateFormatChanged) CLASS_MEMBER_PROPERTY_EVENT_FAST(DateLocale, DateLocaleChanged) CLASS_MEMBER_GUIEVENT(DateSelected); CLASS_MEMBER_GUIEVENT(DateNavigated); END_CLASS_MEMBER(GuiDatePicker) BEGIN_INTERFACE_MEMBER(GuiDatePicker::IStyleProvider) CLASS_MEMBER_BASE(GuiControl::IStyleProvider) CLASS_MEMBER_PROPERTY_READONLY_FAST(BackgroundColor) CLASS_MEMBER_PROPERTY_READONLY_FAST(PrimaryTextColor) CLASS_MEMBER_PROPERTY_READONLY_FAST(SecondaryTextColor) CLASS_MEMBER_METHOD(CreateDateButtonStyle, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateTextList, NO_PARAMETER) CLASS_MEMBER_METHOD(CreateComboBoxStyle, NO_PARAMETER) END_INTERFACE_MEMBER(GuiDatePicker::IStyleProvider) BEGIN_CLASS_MEMBER(GuiDateComboBox) CLASS_MEMBER_BASE(GuiComboBoxBase) CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBox*(GuiDateComboBox::IStyleController* _ GuiDatePicker*), {L"styleController" _ L"datePicker"}) CLASS_MEMBER_PROPERTY_EVENT_FAST(SelectedDate, SelectedDateChanged) CLASS_MEMBER_PROPERTY_READONLY_FAST(DatePicker) END_CLASS_MEMBER(GuiDateComboBox) BEGIN_CLASS_MEMBER(GuiStringGrid) CLASS_MEMBER_BASE(GuiVirtualDataGrid) CONTROL_CONSTRUCTOR_PROVIDER(GuiStringGrid) CLASS_MEMBER_EXTERNALMETHOD(GetGrids, NO_PARAMETER, StringGridProvider*(GuiStringGrid::*)(), vl::reflection::description::GuiStringGrid_GetGrids) CLASS_MEMBER_PROPERTY_READONLY(Grids, GetGrids) END_CLASS_MEMBER(GuiStringGrid) BEGIN_CLASS_MEMBER(StringGridProvider) CLASS_MEMBER_METHOD(InsertRow, {L"row"}) CLASS_MEMBER_METHOD(AppendRow, NO_PARAMETER) CLASS_MEMBER_METHOD(MoveRow, {L"source" _ L"target"}) CLASS_MEMBER_METHOD(RemoveRow, {L"row"}) CLASS_MEMBER_METHOD(ClearRows, NO_PARAMETER) CLASS_MEMBER_METHOD(GetGridString, {L"row" _ L"column"}) CLASS_MEMBER_METHOD(SetGridString, {L"row" _ L"column" _ L"value"}) CLASS_MEMBER_METHOD(InsertColumn, {L"column" _ L"text" _ L"size"}) CLASS_MEMBER_METHOD(AppendColumn, {L"text" _ L"size"}) CLASS_MEMBER_METHOD(MoveColumn, {L"source" _ L"target"}) CLASS_MEMBER_METHOD(RemoveColumn, {L"column"}) CLASS_MEMBER_METHOD(ClearColumns, NO_PARAMETER) CLASS_MEMBER_METHOD(GetColumnText, {L"column"}) CLASS_MEMBER_METHOD(SetColumnText, {L"column" _ L"value"}) END_CLASS_MEMBER(StringGridProvider) BEGIN_CLASS_MEMBER(GuiBindableTextList) CLASS_MEMBER_BASE(GuiVirtualTextList) CLASS_MEMBER_CONSTRUCTOR(GuiBindableTextList*(GuiBindableTextList::IStyleProvider*, list::TextItemStyleProvider::IBulletFactory*), {L"styleProvider" _ L"bulletFactory"}) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(CheckedProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiBindableTextList) BEGIN_CLASS_MEMBER(GuiBindableListView) CLASS_MEMBER_BASE(GuiVirtualListView) CLASS_MEMBER_CONSTRUCTOR(GuiBindableListView*(GuiBindableListView::IStyleProvider*), {L"styleProvider"}) CLASS_MEMBER_PROPERTY_READONLY_FAST(DataColumns) CLASS_MEMBER_PROPERTY_READONLY_FAST(Columns) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(LargeImageProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(SmallImageProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiBindableListView) BEGIN_CLASS_MEMBER(GuiBindableTreeView) CLASS_MEMBER_BASE(GuiVirtualTreeView) CLASS_MEMBER_CONSTRUCTOR(GuiBindableTreeView*(GuiBindableTreeView::IStyleProvider*), {L"styleProvider"}) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ImageProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ChildrenProperty) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedItem, SelectionChanged) END_CLASS_MEMBER(GuiBindableTreeView) BEGIN_CLASS_MEMBER(BindableDataColumn) CLASS_MEMBER_BASE(StructuredColummProviderBase) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_METHOD(GetCellValue, { L"row" }) CLASS_MEMBER_METHOD(SetCellValue, { L"row" _ L"value" }) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(TextProperty) CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(ValueProperty) CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModelContext) END_CLASS_MEMBER(BindableDataColumn) BEGIN_CLASS_MEMBER(GuiBindableDataGrid) CLASS_MEMBER_BASE(GuiVirtualDataGrid) CLASS_MEMBER_CONSTRUCTOR(GuiBindableDataGrid*(GuiBindableDataGrid::IStyleProvider*, const Value&), {L"styleProvider" _ L"viewModelContext"}) CLASS_MEMBER_METHOD(InsertBindableColumn, { L"index" _ L"column" }) CLASS_MEMBER_METHOD(AddBindableColumn, { L"column" }) CLASS_MEMBER_METHOD(RemoveBindableColumn, { L"column" }) CLASS_MEMBER_METHOD(ClearBindableColumns, NO_PARAMETER) CLASS_MEMBER_METHOD(GetBindableColumn, { L"index" }) CLASS_MEMBER_PROPERTY_FAST(ItemSource) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedRowValue, SelectedCellChanged) CLASS_MEMBER_PROPERTY_EVENT_READONLY_FAST(SelectedCellValue, SelectedCellChanged) END_CLASS_MEMBER(GuiBindableDataGrid) #undef INTERFACE_IDENTIFIER #undef CONTROL_CONSTRUCTOR_CONTROLLER #undef INTERFACE_EXTERNALCTOR #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiControlsTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONCONTROLS_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiControlTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiControlsTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONELEMENTS.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace presentation; using namespace presentation::elements; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONELEMENT_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , BEGIN_CLASS_MEMBER(IGuiGraphicsParagraph) CLASS_MEMBER_BASE(IDescriptable) END_CLASS_MEMBER(IGuiGraphicsParagraph) BEGIN_ENUM_ITEM(IGuiGraphicsParagraph::CaretRelativePosition) ENUM_ITEM_NAMESPACE(IGuiGraphicsParagraph) ENUM_NAMESPACE_ITEM(CaretFirst) ENUM_NAMESPACE_ITEM(CaretLast) ENUM_NAMESPACE_ITEM(CaretLineFirst) ENUM_NAMESPACE_ITEM(CaretLineLast) ENUM_NAMESPACE_ITEM(CaretMoveLeft) ENUM_NAMESPACE_ITEM(CaretMoveRight) ENUM_NAMESPACE_ITEM(CaretMoveUp) ENUM_NAMESPACE_ITEM(CaretMoveDown) END_ENUM_ITEM(IGuiGraphicsParagraph::CaretRelativePosition) BEGIN_ENUM_ITEM(ElementShape) ENUM_CLASS_ITEM(Rectangle) ENUM_CLASS_ITEM(Ellipse) END_ENUM_ITEM(ElementShape) BEGIN_CLASS_MEMBER(GuiSolidBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Shape) END_CLASS_MEMBER(GuiSolidBorderElement) BEGIN_CLASS_MEMBER(GuiRoundBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiRoundBorderElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Radius) END_CLASS_MEMBER(GuiRoundBorderElement) BEGIN_CLASS_MEMBER(Gui3DBorderElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DBorderElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) CLASS_MEMBER_PROPERTY_FAST(Color1) CLASS_MEMBER_PROPERTY_FAST(Color2) END_CLASS_MEMBER(Gui3DBorderElement) BEGIN_CLASS_MEMBER(Gui3DSplitterElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DSplitterElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) CLASS_MEMBER_PROPERTY_FAST(Color1) CLASS_MEMBER_PROPERTY_FAST(Color2) CLASS_MEMBER_PROPERTY_FAST(Direction) END_CLASS_MEMBER(Gui3DSplitterElement) BEGIN_ENUM_ITEM(Gui3DSplitterElement::Direction) ENUM_ITEM_NAMESPACE(Gui3DSplitterElement) ENUM_NAMESPACE_ITEM(Horizontal) ENUM_NAMESPACE_ITEM(Vertical) END_ENUM_ITEM(Gui3DSplitterElement::Direction) BEGIN_CLASS_MEMBER(GuiSolidBackgroundElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Shape) END_CLASS_MEMBER(GuiSolidBackgroundElement) BEGIN_CLASS_MEMBER(GuiGradientBackgroundElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiGradientBackgroundElement>) CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"}) CLASS_MEMBER_PROPERTY_FAST(Color1) CLASS_MEMBER_PROPERTY_FAST(Color2) CLASS_MEMBER_PROPERTY_FAST(Direction) CLASS_MEMBER_PROPERTY_FAST(Shape) END_CLASS_MEMBER(GuiGradientBackgroundElement) BEGIN_ENUM_ITEM(GuiGradientBackgroundElement::Direction) ENUM_ITEM_NAMESPACE(GuiGradientBackgroundElement) ENUM_NAMESPACE_ITEM(Horizontal) ENUM_NAMESPACE_ITEM(Vertical) END_ENUM_ITEM(GuiGradientBackgroundElement::Direction) BEGIN_CLASS_MEMBER(GuiSolidLabelElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>) CLASS_MEMBER_METHOD(SetAlignments, {L"horizontal" _ L"vertical"}) CLASS_MEMBER_PROPERTY_FAST(Color) CLASS_MEMBER_PROPERTY_FAST(Font) CLASS_MEMBER_PROPERTY_FAST(Text) CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) CLASS_MEMBER_PROPERTY_FAST(WrapLine) CLASS_MEMBER_PROPERTY_FAST(Ellipse) CLASS_MEMBER_PROPERTY_FAST(Multiline) CLASS_MEMBER_PROPERTY_FAST(WrapLineHeightCalculation) END_CLASS_MEMBER(GuiSolidLabelElement) BEGIN_CLASS_MEMBER(GuiImageFrameElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>) CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER) CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"value"}, void(GuiImageFrameElement::*)(Ptr)) CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"image" _ L"frameIndex"}, void(GuiImageFrameElement::*)(Ptr _ vint)) CLASS_MEMBER_PROPERTY(Image, GetImage, SetImage) CLASS_MEMBER_PROPERTY_FAST(FrameIndex) CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment) CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment) CLASS_MEMBER_PROPERTY_FAST(Stretch) CLASS_MEMBER_PROPERTY_FAST(Enabled) END_CLASS_MEMBER(GuiImageFrameElement) BEGIN_CLASS_MEMBER(GuiPolygonElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>) CLASS_MEMBER_METHOD_RENAME(GetPoints, GetPointsArray, NO_PARAMETER); CLASS_MEMBER_METHOD_RENAME(SetPoints, SetPointsArray, {L"points"}); CLASS_MEMBER_PROPERTY(Points, GetPoints, SetPoints); CLASS_MEMBER_PROPERTY_FAST(Size) CLASS_MEMBER_PROPERTY_FAST(BorderColor) CLASS_MEMBER_PROPERTY_FAST(BackgroundColor) END_CLASS_MEMBER(GuiPolygonElement) BEGIN_CLASS_MEMBER(text::TextLines) CLASS_MEMBER_PROPERTY_READONLY_FAST(Count) CLASS_MEMBER_PROPERTY_FAST(TabSpaceCount) CLASS_MEMBER_PROPERTY_READONLY_FAST(RowHeight) CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxWidth) CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxHeight) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) CLASS_MEMBER_METHOD_OVERLOAD(GetText, NO_PARAMETER, WString(text::TextLines::*)()) CLASS_MEMBER_METHOD_OVERLOAD(GetText, {L"start" _ L"end"}, WString(text::TextLines::*)(TextPos _ TextPos)) CLASS_MEMBER_METHOD(SetText, {L"value"}) CLASS_MEMBER_METHOD(RemoveLines, {L"start" _ L"end"}) CLASS_MEMBER_METHOD(IsAvailable, {L"pos"}) CLASS_MEMBER_METHOD(Normalize, {L"pos"}) CLASS_MEMBER_METHOD_OVERLOAD(Modify, {L"start" _ L"end" _ L"input"}, TextPos(text::TextLines::*)(TextPos _ TextPos _ const WString&)) CLASS_MEMBER_METHOD(Clear, NO_PARAMETER) CLASS_MEMBER_METHOD(ClearMeasurement, NO_PARAMETER) CLASS_MEMBER_METHOD(MeasureRow, {L"row"}) CLASS_MEMBER_METHOD(GetRowWidth, {L"row"}) CLASS_MEMBER_METHOD(GetTextPosFromPoint, {L"point"}) CLASS_MEMBER_METHOD(GetPointFromTextPos, {L"pos"}) CLASS_MEMBER_METHOD(GetRectFromTextPos, {L"pos"}) END_CLASS_MEMBER(text::TextLines) BEGIN_STRUCT_MEMBER(text::ColorItem) STRUCT_MEMBER(text) STRUCT_MEMBER(background) END_STRUCT_MEMBER(text::ColorItem) BEGIN_STRUCT_MEMBER(text::ColorEntry) STRUCT_MEMBER(normal) STRUCT_MEMBER(selectedFocused) STRUCT_MEMBER(selectedUnfocused) END_STRUCT_MEMBER(text::ColorEntry) BEGIN_CLASS_MEMBER(GuiColorizedTextElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiColorizedTextElement>) CLASS_MEMBER_PROPERTY_FAST(Font) CLASS_MEMBER_PROPERTY_FAST(PasswordChar) CLASS_MEMBER_PROPERTY_FAST(ViewPosition) CLASS_MEMBER_PROPERTY_FAST(VisuallyEnabled) CLASS_MEMBER_PROPERTY_FAST(Focused) CLASS_MEMBER_PROPERTY_FAST(CaretBegin) CLASS_MEMBER_PROPERTY_FAST(CaretEnd) CLASS_MEMBER_PROPERTY_FAST(CaretVisible) CLASS_MEMBER_PROPERTY_FAST(CaretColor) CLASS_MEMBER_EXTERNALMETHOD(GetLines, NO_PARAMETER, text::TextLines*(GuiColorizedTextElement::*)(), vl::reflection::description::GuiColorizedTextElement_GetLines) CLASS_MEMBER_PROPERTY_READONLY(Lines, GetLines) CLASS_MEMBER_PROPERTY_FAST(Colors) END_CLASS_MEMBER(GuiColorizedTextElement) BEGIN_CLASS_MEMBER(GuiDocumentElement) CLASS_MEMBER_BASE(IGuiGraphicsElement) CLASS_MEMBER_EXTERNALCTOR(Ptr(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiDocumentElement>) CLASS_MEMBER_PROPERTY_FAST(Document) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretBegin) CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretEnd) CLASS_MEMBER_PROPERTY_FAST(CaretVisible) CLASS_MEMBER_PROPERTY_FAST(CaretColor) CLASS_MEMBER_METHOD(IsCaretEndPreferFrontSide, NO_PARAMETER) CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"}) CLASS_MEMBER_METHOD(CalculateCaret, {L"comparingCaret" _ L"position" _ L"preferFrontSide"}) CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"}) CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"}) CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"}) CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model"}) CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text"}) CLASS_MEMBER_METHOD(EditStyle, {L"begin" _ L"end" _ L"style"}) CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"}) CLASS_MEMBER_METHOD(EditImage, {L"paragraphIndex" _ L"begin" _ L"end" _ L"reference" _ L"normalStyleName" _ L"activeStyleName"}) CLASS_MEMBER_METHOD(RemoveHyperlink, {L"paragraphIndex" _ L"begin" _ L"end"}) CLASS_MEMBER_METHOD(EditStyleName, {L"begin" _ L"end" _ L"styleName"}) CLASS_MEMBER_METHOD(RemoveStyleName, {L"begin" _ L"end" _ L"image"}) CLASS_MEMBER_METHOD(RenameStyle, {L"oldStyleName" _ L"newStyleName"}) CLASS_MEMBER_METHOD(ClearStyle, {L"begin" _ L"end"}) CLASS_MEMBER_METHOD(SummarizeStyle, {L"begin" _ L"end"}) CLASS_MEMBER_METHOD(SetParagraphAlignment, {L"begin" _ L"end" _ L"alignments"}) CLASS_MEMBER_METHOD(GetHyperlinkFromPoint, {L"point"}) END_CLASS_MEMBER(GuiDocumentElement) #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiElementTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONELEMENT_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiElementTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiElementTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONEVENTS.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace presentation; using namespace presentation::compositions; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONEVENT_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , #define EVENTARGS_CONSTRUCTOR(EVENTARGS)\ CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER)\ CLASS_MEMBER_CONSTRUCTOR(Ptr(GuiGraphicsComposition*), {L"composition"}) BEGIN_CLASS_MEMBER(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiEventArgs) CLASS_MEMBER_FIELD(compositionSource) CLASS_MEMBER_FIELD(eventSource) CLASS_MEMBER_FIELD(handled) END_CLASS_MEMBER(GuiEventArgs) BEGIN_CLASS_MEMBER(GuiRequestEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiRequestEventArgs) CLASS_MEMBER_FIELD(cancel) END_CLASS_MEMBER(GuiRequestEventArgs) BEGIN_CLASS_MEMBER(GuiKeyEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiKeyEventArgs) CLASS_MEMBER_FIELD(code) CLASS_MEMBER_FIELD(ctrl) CLASS_MEMBER_FIELD(shift) CLASS_MEMBER_FIELD(alt) CLASS_MEMBER_FIELD(capslock) END_CLASS_MEMBER(GuiKeyEventArgs) BEGIN_CLASS_MEMBER(GuiCharEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiCharEventArgs) CLASS_MEMBER_FIELD(code) CLASS_MEMBER_FIELD(ctrl) CLASS_MEMBER_FIELD(shift) CLASS_MEMBER_FIELD(alt) CLASS_MEMBER_FIELD(capslock) END_CLASS_MEMBER(GuiCharEventArgs) BEGIN_CLASS_MEMBER(GuiMouseEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiMouseEventArgs) CLASS_MEMBER_FIELD(ctrl) CLASS_MEMBER_FIELD(shift) CLASS_MEMBER_FIELD(left) CLASS_MEMBER_FIELD(middle) CLASS_MEMBER_FIELD(right) CLASS_MEMBER_FIELD(x) CLASS_MEMBER_FIELD(y) CLASS_MEMBER_FIELD(wheel) CLASS_MEMBER_FIELD(nonClient) END_CLASS_MEMBER(GuiMouseEventArgs) BEGIN_CLASS_MEMBER(GuiItemEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiItemEventArgs) CLASS_MEMBER_FIELD(itemIndex) END_CLASS_MEMBER(GuiItemEventArgs) BEGIN_CLASS_MEMBER(GuiItemMouseEventArgs) CLASS_MEMBER_BASE(GuiMouseEventArgs) EVENTARGS_CONSTRUCTOR(GuiItemMouseEventArgs) CLASS_MEMBER_FIELD(itemIndex) END_CLASS_MEMBER(GuiItemMouseEventArgs) BEGIN_CLASS_MEMBER(GuiNodeEventArgs) CLASS_MEMBER_BASE(GuiEventArgs) EVENTARGS_CONSTRUCTOR(GuiNodeEventArgs) CLASS_MEMBER_FIELD(node) END_CLASS_MEMBER(GuiNodeEventArgs) BEGIN_CLASS_MEMBER(GuiNodeMouseEventArgs) CLASS_MEMBER_BASE(GuiMouseEventArgs) EVENTARGS_CONSTRUCTOR(GuiNodeMouseEventArgs) CLASS_MEMBER_FIELD(node) END_CLASS_MEMBER(GuiNodeMouseEventArgs) #undef EVENTARGS_CONSTRUCTOR #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiEventTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONEVENT_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiEventTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiEventTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONPLUGIN.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace presentation::controls; class GuiReflectionPlugin : public Object, public IGuiPlugin { public: void Load()override { LoadPredefinedTypes(); LoadParsingTypes(); XmlLoadTypes(); JsonLoadTypes(); LoadGuiBasicTypes(); LoadGuiElementTypes(); LoadGuiCompositionTypes(); LoadGuiControlTypes(); LoadGuiTemplateTypes(); LoadGuiEventTypes(); } void AfterLoad()override { } void Unload()override { } }; GUI_REGISTER_PLUGIN(GuiReflectionPlugin) } } } /*********************************************************************** TYPEDESCRIPTORS\GUIREFLECTIONTEMPLATES.CPP ***********************************************************************/ namespace vl { namespace reflection { namespace description { using namespace collections; using namespace parsing; using namespace parsing::tabling; using namespace parsing::xml; using namespace stream; using namespace presentation; using namespace presentation::compositions; using namespace presentation::controls; using namespace presentation::templates; #ifndef VCZH_DEBUG_NO_REFLECTION GUIREFLECTIONTEMPLATES_TYPELIST(IMPL_VL_TYPE_INFO) /*********************************************************************** Type Declaration ***********************************************************************/ #define _ , #define GUI_TEMPLATE_PROPERTY_REFLECTION(CLASS, TYPE, NAME)\ CLASS_MEMBER_PROPERTY_GUIEVENT_FAST(NAME) BEGIN_ENUM_ITEM(BoolOption) ENUM_CLASS_ITEM(AlwaysTrue) ENUM_CLASS_ITEM(AlwaysFalse) ENUM_CLASS_ITEM(Customizable) END_ENUM_ITEM(BoolOption) BEGIN_CLASS_MEMBER(GuiTemplate) CLASS_MEMBER_BASE(GuiBoundsComposition) CLASS_MEMBER_BASE(GuiInstanceRootObject) CLASS_MEMBER_CONSTRUCTOR(GuiTemplate*(), NO_PARAMETER) GuiTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTemplate) BEGIN_INTERFACE_MEMBER(GuiTemplate::IFactory) CLASS_MEMBER_METHOD(CreateTemplate, NO_PARAMETER) END_INTERFACE_MEMBER(GuiTemplate::IFactory) BEGIN_CLASS_MEMBER(GuiControlTemplate) CLASS_MEMBER_BASE(GuiTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate*(), NO_PARAMETER) GuiControlTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiControlTemplate) BEGIN_CLASS_MEMBER(GuiLabelTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate*(), NO_PARAMETER) GuiLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiLabelTemplate) BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate*(), NO_PARAMETER) GuiSinglelineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate) BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate*(), NO_PARAMETER) GuiDocumentLabelTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiDocumentLabelTemplate) BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate) CLASS_MEMBER_BASE(GuiScrollViewTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate*(), NO_PARAMETER) GuiMultilineTextBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiMultilineTextBoxTemplate) BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate) CLASS_MEMBER_BASE(GuiScrollViewTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate*(), NO_PARAMETER) GuiDocumentViewerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiDocumentViewerTemplate) BEGIN_CLASS_MEMBER(GuiMenuTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate*(), NO_PARAMETER) END_CLASS_MEMBER(GuiMenuTemplate) BEGIN_CLASS_MEMBER(GuiWindowTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate*(), NO_PARAMETER) GuiWindowTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiWindowTemplate) BEGIN_CLASS_MEMBER(GuiButtonTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate*(), NO_PARAMETER) GuiButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiButtonTemplate) BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate) CLASS_MEMBER_BASE(GuiButtonTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate*(), NO_PARAMETER) GuiSelectableButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiSelectableButtonTemplate) BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate) CLASS_MEMBER_BASE(GuiSelectableButtonTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate*(), NO_PARAMETER) GuiToolstripButtonTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiToolstripButtonTemplate) BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate) CLASS_MEMBER_BASE(GuiToolstripButtonTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate*(), NO_PARAMETER) GuiListViewColumnHeaderTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate) BEGIN_CLASS_MEMBER(GuiComboBoxTemplate) CLASS_MEMBER_BASE(GuiToolstripButtonTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate*(), NO_PARAMETER) GuiComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiComboBoxTemplate) BEGIN_CLASS_MEMBER(GuiDatePickerTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate*(), NO_PARAMETER) GuiDatePickerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiDatePickerTemplate) BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate) CLASS_MEMBER_BASE(GuiComboBoxTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate*(), NO_PARAMETER) GuiDateComboBoxTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiDateComboBoxTemplate) BEGIN_CLASS_MEMBER(GuiScrollTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate*(), NO_PARAMETER) GuiScrollTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiScrollTemplate) BEGIN_CLASS_MEMBER(GuiScrollViewTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate*(), NO_PARAMETER) GuiScrollViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiScrollViewTemplate) BEGIN_CLASS_MEMBER(GuiTextListTemplate) CLASS_MEMBER_BASE(GuiScrollViewTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate*(), NO_PARAMETER) GuiTextListTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTextListTemplate) BEGIN_CLASS_MEMBER(GuiListViewTemplate) CLASS_MEMBER_BASE(GuiScrollViewTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate*(), NO_PARAMETER) GuiListViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiListViewTemplate) BEGIN_CLASS_MEMBER(GuiTreeViewTemplate) CLASS_MEMBER_BASE(GuiScrollViewTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate*(), NO_PARAMETER) GuiTreeViewTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTreeViewTemplate) BEGIN_CLASS_MEMBER(GuiTabTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate*(), NO_PARAMETER) GuiTabTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTabTemplate) BEGIN_CLASS_MEMBER(GuiListItemTemplate) CLASS_MEMBER_BASE(GuiTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiListItemTemplate*(), NO_PARAMETER) GuiListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiListItemTemplate) BEGIN_CLASS_MEMBER(GuiTextListItemTemplate) CLASS_MEMBER_BASE(GuiListItemTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiTextListItemTemplate*(), NO_PARAMETER) GuiTextListItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTextListItemTemplate) BEGIN_CLASS_MEMBER(GuiTreeItemTemplate) CLASS_MEMBER_BASE(GuiTextListItemTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiTreeItemTemplate*(), NO_PARAMETER) GuiTreeItemTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiTreeItemTemplate) BEGIN_CLASS_MEMBER(GuiGridVisualizerTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiGridVisualizerTemplate*(), NO_PARAMETER) GuiGridVisualizerTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiGridVisualizerTemplate) BEGIN_CLASS_MEMBER(GuiGridEditorTemplate) CLASS_MEMBER_BASE(GuiControlTemplate) CLASS_MEMBER_CONSTRUCTOR(GuiGridEditorTemplate*(), NO_PARAMETER) GuiGridEditorTemplate_PROPERTIES(GUI_TEMPLATE_PROPERTY_REFLECTION) END_CLASS_MEMBER(GuiGridEditorTemplate) BEGIN_CLASS_MEMBER(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControl::IStyleController) CLASS_MEMBER_BASE(GuiControl::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiControlTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiControlTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiLabelTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiLabel::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiLabelTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiLabelTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiSinglelineTextBox::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiSinglelineTextBoxTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiSinglelineTextBoxTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiDocumentLabel::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiDocumentLabelTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiDocumentLabelTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiMultilineTextBoxTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiMultilineTextBoxTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiDocumentViewer::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiDocumentViewerTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiDocumentViewerTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiMenuTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiWindow::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiMenuTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiMenuTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiWindowTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiWindow::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiWindowTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiWindowTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiButton::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiButtonTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiButtonTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiSelectableButton::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiSelectableButtonTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiSelectableButtonTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiMenuButton::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiToolstripButtonTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiToolstripButtonTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiListViewColumnHeader::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiListViewColumnHeaderTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiListViewColumnHeaderTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiToolstripButtonTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiComboBoxListControl::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiComboBoxTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiComboBoxTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiDatePicker::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiDatePickerTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiDatePickerTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiComboBoxTemplate_StyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiDateComboBoxTemplate_StyleProvider*(Ptr), { L"factory" }) CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER) END_CLASS_MEMBER(GuiDateComboBoxTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiScrollTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScroll::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiScrollTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiScrollTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollView::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiScrollViewTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiScrollViewTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiTextListTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiVirtualTextList::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiTextListTemplate_StyleProvider*(Ptr), { L"factory" }) CLASS_MEMBER_METHOD(CreateArgument, NO_PARAMETER) END_CLASS_MEMBER(GuiTextListTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiListViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiListViewBase::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiListViewTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiListViewTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiScrollViewTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiVirtualTreeView::IStyleProvider) CLASS_MEMBER_CONSTRUCTOR(GuiTreeViewTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiTreeViewTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiTabTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiControlTemplate_StyleProvider) CLASS_MEMBER_BASE(GuiTab::IStyleController) CLASS_MEMBER_CONSTRUCTOR(GuiTabTemplate_StyleProvider*(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiTabTemplate_StyleProvider) BEGIN_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider) CLASS_MEMBER_BASE(GuiComboBoxListControl::IItemStyleProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiControlTemplate_ItemStyleProvider) BEGIN_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider) CLASS_MEMBER_BASE(GuiSelectableListControl::IItemStyleProvider) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiTextListItemTemplate_ItemStyleProvider) BEGIN_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider) CLASS_MEMBER_BASE(tree::INodeItemStyleProvider) CLASS_MEMBER_BASE(tree::INodeProviderCallback) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), { L"factory" }) END_CLASS_MEMBER(GuiTreeItemTemplate_ItemStyleProvider) BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr), { L"decoratedVisualizer" }) END_CLASS_MEMBER(GuiBindableDataVisualizer) BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::Factory) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" }) END_CLASS_MEMBER(GuiBindableDataVisualizer::Factory) BEGIN_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr, list::BindableDataColumn*, Ptr), { L"templateFactory" _ L"ownerColumn" _ L"decoratedFactory" }) END_CLASS_MEMBER(GuiBindableDataVisualizer::DecoratedFactory) BEGIN_CLASS_MEMBER(GuiBindableDataEditor) CLASS_MEMBER_CONSTRUCTOR(Ptr(), NO_PARAMETER) END_CLASS_MEMBER(GuiBindableDataEditor) BEGIN_CLASS_MEMBER(GuiBindableDataEditor::Factory) CLASS_MEMBER_CONSTRUCTOR(Ptr(Ptr, list::BindableDataColumn*), { L"templateFactory" _ L"ownerColumn" }) END_CLASS_MEMBER(GuiBindableDataEditor::Factory) #undef INTERFACE_EXTERNALCTOR #undef _ /*********************************************************************** Type Loader ***********************************************************************/ class GuiTemplateTypeLoader : public Object, public ITypeLoader { public: void Load(ITypeManager* manager) { GUIREFLECTIONTEMPLATES_TYPELIST(ADD_TYPE_INFO) } void Unload(ITypeManager* manager) { } }; #endif bool LoadGuiTemplateTypes() { #ifndef VCZH_DEBUG_NO_REFLECTION ITypeManager* manager=GetGlobalTypeManager(); if(manager) { Ptr loader=new GuiTemplateTypeLoader; return manager->AddTypeLoader(loader); } #endif return false; } } } }