Update release

This commit is contained in:
Zihan Chen
2018-06-27 04:34:05 -07:00
parent 1f9b7eb182
commit bdcf678f8a
26 changed files with 3914 additions and 2814 deletions
@@ -83,6 +83,9 @@
<ItemGroup>
<ClCompile Include="Main.cpp" />
<ClCompile Include="UI\FullControlTest\Source\DemoPartialClasses.cpp" />
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorBase.cpp" />
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorRibbon.cpp" />
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorToolstrip.cpp" />
<ClCompile Include="UI\FullControlTest\Source\MainWindow.cpp" />
</ItemGroup>
<ItemGroup>
@@ -93,6 +96,9 @@
<ItemGroup>
<ClInclude Include="UI\FullControlTest\Source\Demo.h" />
<ClInclude Include="UI\FullControlTest\Source\DemoPartialClasses.h" />
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorBase.h" />
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorRibbon.h" />
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorToolstrip.h" />
<ClInclude Include="UI\FullControlTest\Source\MainWindow.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
@@ -27,6 +27,15 @@
<ClCompile Include="UI\FullControlTest\Source\MainWindow.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorRibbon.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorToolstrip.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\FullControlTest\Source\DocumentEditorBase.cpp">
<Filter>UI</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="UI\FullControlTest\Source\Demo.h">
@@ -38,5 +47,14 @@
<ClInclude Include="UI\FullControlTest\Source\MainWindow.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorRibbon.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorToolstrip.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\FullControlTest\Source\DocumentEditorBase.h">
<Filter>UI</Filter>
</ClInclude>
</ItemGroup>
</Project>
@@ -124,25 +124,46 @@ namespace demo
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::LoadAsPrivateFormat(const ::vl::WString& fileName)
{
throw ::vl::Exception(L"You should implement this function.");
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::ReadOnly);
auto model = vl::presentation::LoadDocumentFromClipboardStream(fileStream);
document->SetDocument(model);
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsPrivateFormat(const ::vl::WString& fileName)
{
throw ::vl::Exception(L"You should implement this function.");
document->SelectAll();
auto model = document->GetSelectionModel();
vl::presentation::ModifyDocumentForClipboard(model);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
vl::presentation::SaveDocumentToClipboardStream(model, fileStream);
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsRTF(const ::vl::WString& fileName)
{
throw ::vl::Exception(L"You should implement this function.");
document->SelectAll();
auto model = document->GetSelectionModel();
vl::AString rtf;
vl::presentation::SaveDocumentToRtf(model, rtf);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
fileStream.Write((void*)rtf.Buffer(), rtf.Length());
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsHTML(const ::vl::WString& fileName)
{
throw ::vl::Exception(L"You should implement this function.");
document->SelectAll();
auto model = document->GetSelectionModel();
vl::AString header, content, footer;
vl::presentation::SaveDocumentToHtmlUtf8(model, header, content, footer);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
fileStream.Write((void*)header.Buffer(), header.Length());
fileStream.Write((void*)content.Buffer(), content.Length());
fileStream.Write((void*)footer.Buffer(), footer.Length());
}
void DocumentEditorBase::SaveDocument()
@@ -152,10 +152,16 @@
<ItemGroup>
<ClCompile Include="Main.cpp" />
<ClCompile Include="UI\Source\DemoPartialClasses.cpp" />
<ClCompile Include="UI\Source\DocumentEditorBase.cpp" />
<ClCompile Include="UI\Source\DocumentEditorRibbon.cpp" />
<ClCompile Include="UI\Source\DocumentEditorToolstrip.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="UI\Source\Demo.h" />
<ClInclude Include="UI\Source\DemoPartialClasses.h" />
<ClInclude Include="UI\Source\DocumentEditorBase.h" />
<ClInclude Include="UI\Source\DocumentEditorRibbon.h" />
<ClInclude Include="UI\Source\DocumentEditorToolstrip.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Lib\GacUILite\GacUILite.vcxproj">
@@ -27,6 +27,15 @@
<ClCompile Include="UI\Source\DemoPartialClasses.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\Source\DocumentEditorBase.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\Source\DocumentEditorRibbon.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\Source\DocumentEditorToolstrip.cpp">
<Filter>UI</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="UI\Source\DemoPartialClasses.h">
@@ -35,6 +44,15 @@
<ClInclude Include="UI\Source\Demo.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\Source\DocumentEditorBase.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\Source\DocumentEditorRibbon.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\Source\DocumentEditorToolstrip.h">
<Filter>UI</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Xml Include="UI\Resource.xml">
@@ -1,6 +1,6 @@
<Folder>
<Instance name="DocumentEditorBaseResource">
<Instance ref.CodeBehind="false" ref.Class="demo::DocumentEditorBase">
<Instance ref.Class="demo::DocumentEditorBase">
<ref.Members>
<![CDATA[
@cpp:Protected
@@ -71,6 +71,48 @@
{
return toolstripContainer;
}
@cpp:UserImpl
func LoadAsPrivateFormat(fileName: string): void
{
dialogNotImpl.Text = $"You want to load from \"$(fileName)\" as private format, but this function is not implemented in Workflow script.";
dialogNotImpl.ShowDialog();
}
@cpp:UserImpl
func SaveAsPrivateFormat(fileName: string): void
{
dialogNotImpl.Text = $"You want to save to \"$(fileName)\" as private format, but this function is not implemented in Workflow script.";
dialogNotImpl.ShowDialog();
}
@cpp:UserImpl
func SaveAsRTF(fileName: string): void
{
dialogNotImpl.Text = $"You want to save to \"$(fileName)\" as RTF, but this function is not implemented in Workflow script.";
dialogNotImpl.ShowDialog();
}
@cpp:UserImpl
func SaveAsHTML(fileName: string): void
{
dialogNotImpl.Text = $"You want to save to \"$(fileName)\" as HTML, but this function is not implemented in Workflow script.";
dialogNotImpl.ShowDialog();
}
@cpp:Private
func SaveDocument(): void
{
if (dialogSaveDoc.ShowDialog())
{
switch (dialogSaveDoc.FilterIndex)
{
case 0: { self.SaveAsPrivateFormat(dialogSaveDoc.FileName); }
case 1: { self.SaveAsRTF(dialogSaveDoc.FileName); }
case 2: { self.SaveAsHTML(dialogSaveDoc.FileName); }
}
}
}
prop MenuContainer : GraphicsComposition* {GetMenuContainer}
prop ToolstripContainer : GraphicsComposition* {GetToolstripContainer}
@@ -86,7 +128,10 @@
<CustomControl ref.Name="self" Text="Document Editor">
<att.HasEditableSelection-bind>document.observe as _(_.CanCut() on _.SelectionChanged)</att.HasEditableSelection-bind>
<MessageDialog ref.Name="dialogMessage" Title="You Clicked a Hyperlink!"/>
<MessageDialog ref.Name="dialogNotImpl" Title-bind="self.Text"/>
<OpenFileDialog ref.Name="dialogOpen" Title="Select an Image" Filter="Image Files (*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp" EnabledPreview="true" Options="FileDialogFileMustExist|FileDialogDereferenceLinks"/>
<OpenFileDialog ref.Name="dialogOpenDoc" Title="Load a GacUI Document" Filter="Private Format (*.bin)|*.bin" Options="FileDialogFileMustExist|FileDialogDereferenceLinks"/>
<SaveFileDialog ref.Name="dialogSaveDoc" Title="Save a GacUI Document" Filter="Private Format (*.bin)|*.bin|RTF Document (*.rtf)|*.rtf|HTML Document (*.html)|*.html" Options="FileDialogPromptOverwriteFile"/>
<Table AlignmentToParent="left:0 top:0 right:0 bottom:0">
<att.Rows>
@@ -116,6 +161,52 @@
</Cell>
</Table>
<ToolstripCommand ref.Name="commandLoadPrivate" Text="Load as Private Format" Image-uri="res://ToolbarImages/FormatPrivate" LargeImage-uri="res://ToolbarImages/FormatPrivateLarge">
<ev.Executed-eval>
<![CDATA[
{
if (dialogOpenDoc.ShowDialog())
{
self.LoadAsPrivateFormat(dialogOpenDoc.FileName);
}
}
]]>
</ev.Executed-eval>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandSavePrivate" Text="Save as Private Format" Image-uri="res://ToolbarImages/FormatPrivate" LargeImage-uri="res://ToolbarImages/FormatPrivateLarge">
<ev.Executed-eval>
<![CDATA[
{
dialogSaveDoc.FilterIndex = 0;
self.SaveDocument();
}
]]>
</ev.Executed-eval>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandSaveRtf" Text="Save as RTF" Image-uri="res://ToolbarImages/FormatRtf" LargeImage-uri="res://ToolbarImages/FormatRtfLarge">
<ev.Executed-eval>
<![CDATA[
{
dialogSaveDoc.FilterIndex = 1;
self.SaveDocument();
}
]]>
</ev.Executed-eval>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandSaveHtml" Text="Save as HTML" Image-uri="res://ToolbarImages/FormatHtml" LargeImage-uri="res://ToolbarImages/FormatHtmlLarge">
<ev.Executed-eval>
<![CDATA[
{
dialogSaveDoc.FilterIndex = 2;
self.SaveDocument();
}
]]>
</ev.Executed-eval>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandUndo" Text="Undo" Image-uri="res://ToolbarImages/Undo" LargeImage-uri="res://ToolbarImages/UndoLarge" ShortcutBuilder="Ctrl+Z">
<att.Enabled-bind>document.observe as _(_.CanUndo() on _.UndoRedoChanged)</att.Enabled-bind>
<ev.Executed-eval>
@@ -124,7 +124,7 @@
</Instance>
<Instance name="DocumentEditorRibbonResource">
<Instance ref.CodeBehind="false" ref.Class="demo::DocumentEditorRibbon" xmlns:demo="demo::*">
<Instance ref.Class="demo::DocumentEditorRibbon" xmlns:demo="demo::*">
<ref.Members>
<![CDATA[
@cpp:Private
@@ -203,16 +203,35 @@
<att.AlignLeftSelected-bind>self.document.observe as _(self.SelectAlignmentCommand() == self.commandAlignLeft on _.SelectionChanged)</att.AlignLeftSelected-bind>
<att.AlignCenterSelected-bind>self.document.observe as _(self.SelectAlignmentCommand() == self.commandAlignCenter on _.SelectionChanged)</att.AlignCenterSelected-bind>
<att.AlignRightSelected-bind>self.document.observe as _(self.SelectAlignmentCommand() == self.commandAlignRight on _.SelectionChanged)</att.AlignRightSelected-bind>
<MessageDialog ref.Name="dialogMessage" Title="You Expanded a Group!" Text="GuiRibbonGroup::ExpandButtonClicked is executed!"/>
<ToolstripMenu ref.Name="toolstripHome">
<ToolstripGroupContainer>
<ToolstripGroup>
<MenuItemButton Command-eval="self.commandLoadPrivate" Alt="O"/>
</ToolstripGroup>
<ToolstripGroup>
<MenuItemButton Command-eval="self.commandSavePrivate" Alt="P"/>
<MenuItemButton Command-eval="self.commandSaveRtf" Alt="R"/>
<MenuItemButton Command-eval="self.commandSaveHtml" Alt="H"/>
</ToolstripGroup>
</ToolstripGroupContainer>
</ToolstripMenu>
<att.MenuContainer-set>
<RibbonTab>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.BeforeHeaders-set>
<Button Text=" HOME ">
<Button ref.Name="buttonHome" Text=" HOME ">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ev.Clicked-eval>
<![CDATA[
{
toolstripHome.ShowPopup(buttonHome, true);
}
]]>
</ev.Clicked-eval>
</Button>
</att.BeforeHeaders-set>
@@ -1,10 +1,22 @@
<Folder>
<Instance name="DocumentEditorToolstripResource">
<Instance ref.CodeBehind="false" ref.Class="demo::DocumentEditorToolstrip" xmlns:demo="demo::*">
<Instance ref.Class="demo::DocumentEditorToolstrip" xmlns:demo="demo::*">
<demo:DocumentEditorBase ref.Name="self" Text="Document Editor (Toolstrip)">
<att.MenuContainer-set>
<ToolstripMenuBar>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<MenuBarButton Text="File" Alt="F">
<att.SubMenu-set>
<MenuItemButton Command-eval="self.commandLoadPrivate" Alt="O"/>
<MenuItemButton Text="Save as" Alt="S" Image-uri="res://ToolbarImages/FormatPrivate">
<att.SubMenu-set>
<MenuItemButton Command-eval="self.commandSavePrivate" Alt="P"/>
<MenuItemButton Command-eval="self.commandSaveRtf" Alt="R"/>
<MenuItemButton Command-eval="self.commandSaveHtml" Alt="H"/>
</att.SubMenu-set>
</MenuItemButton>
</att.SubMenu-set>
</MenuBarButton>
<MenuBarButton Text="Edit" Alt="E">
<att.SubMenu-set>
<ToolstripGroupContainer>
@@ -11,5 +11,8 @@ https://github.com/vczh-libraries
#define VCZH_WORKFLOW_COMPILER_GENERATED_DEMO
#include "DemoPartialClasses.h"
#include "DocumentEditorBase.h"
#include "DocumentEditorRibbon.h"
#include "DocumentEditorToolstrip.h"
#endif
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -63,6 +63,11 @@ namespace vl
CLASS_MEMBER_METHOD(GetToolstripContainer, NO_PARAMETER)
CLASS_MEMBER_METHOD(HasEditableCursor, NO_PARAMETER)
CLASS_MEMBER_METHOD(HasEditableHyperlink, { L"forEdit" })
CLASS_MEMBER_METHOD(LoadAsPrivateFormat, { L"fileName" })
CLASS_MEMBER_METHOD(SaveAsHTML, { L"fileName" })
CLASS_MEMBER_METHOD(SaveAsPrivateFormat, { L"fileName" })
CLASS_MEMBER_METHOD(SaveAsRTF, { L"fileName" })
CLASS_MEMBER_METHOD(SaveDocument, NO_PARAMETER)
CLASS_MEMBER_METHOD(SelectAlignmentCommand, NO_PARAMETER)
CLASS_MEMBER_METHOD(SetAlignment, { L"alignment" })
CLASS_MEMBER_METHOD(SetEditMode, { L"editMode" })
@@ -104,9 +109,13 @@ namespace vl
CLASS_MEMBER_FIELD(commandFont)
CLASS_MEMBER_FIELD(commandInsertImage)
CLASS_MEMBER_FIELD(commandItalic)
CLASS_MEMBER_FIELD(commandLoadPrivate)
CLASS_MEMBER_FIELD(commandPaste)
CLASS_MEMBER_FIELD(commandRedo)
CLASS_MEMBER_FIELD(commandRemoveHyperlink)
CLASS_MEMBER_FIELD(commandSaveHtml)
CLASS_MEMBER_FIELD(commandSavePrivate)
CLASS_MEMBER_FIELD(commandSaveRtf)
CLASS_MEMBER_FIELD(commandSelect)
CLASS_MEMBER_FIELD(commandSelectable)
CLASS_MEMBER_FIELD(commandStrike)
@@ -116,7 +125,10 @@ namespace vl
CLASS_MEMBER_FIELD(dialogColor)
CLASS_MEMBER_FIELD(dialogFont)
CLASS_MEMBER_FIELD(dialogMessage)
CLASS_MEMBER_FIELD(dialogNotImpl)
CLASS_MEMBER_FIELD(dialogOpen)
CLASS_MEMBER_FIELD(dialogOpenDoc)
CLASS_MEMBER_FIELD(dialogSaveDoc)
CLASS_MEMBER_FIELD(document)
CLASS_MEMBER_FIELD(menuContainer)
CLASS_MEMBER_FIELD(self)
@@ -246,9 +258,17 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_88)
CLASS_MEMBER_FIELD(__vwsn_precompile_89)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(__vwsn_precompile_90)
CLASS_MEMBER_FIELD(__vwsn_precompile_91)
CLASS_MEMBER_FIELD(__vwsn_precompile_92)
CLASS_MEMBER_FIELD(__vwsn_precompile_93)
CLASS_MEMBER_FIELD(__vwsn_precompile_94)
CLASS_MEMBER_FIELD(__vwsn_precompile_95)
CLASS_MEMBER_FIELD(buttonHome)
CLASS_MEMBER_FIELD(dialogMessage)
CLASS_MEMBER_FIELD(self)
CLASS_MEMBER_FIELD(styleGallery)
CLASS_MEMBER_FIELD(toolstripHome)
END_CLASS_MEMBER(::demo::DocumentEditorRibbonConstructor)
BEGIN_CLASS_MEMBER(::demo::DocumentEditorRibbonWindow)
@@ -341,7 +361,15 @@ namespace vl
CLASS_MEMBER_FIELD(__vwsn_precompile_65)
CLASS_MEMBER_FIELD(__vwsn_precompile_66)
CLASS_MEMBER_FIELD(__vwsn_precompile_67)
CLASS_MEMBER_FIELD(__vwsn_precompile_68)
CLASS_MEMBER_FIELD(__vwsn_precompile_69)
CLASS_MEMBER_FIELD(__vwsn_precompile_7)
CLASS_MEMBER_FIELD(__vwsn_precompile_70)
CLASS_MEMBER_FIELD(__vwsn_precompile_71)
CLASS_MEMBER_FIELD(__vwsn_precompile_72)
CLASS_MEMBER_FIELD(__vwsn_precompile_73)
CLASS_MEMBER_FIELD(__vwsn_precompile_74)
CLASS_MEMBER_FIELD(__vwsn_precompile_75)
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
CLASS_MEMBER_FIELD(buttonAlignment)
@@ -0,0 +1,226 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#include "Demo.h"
/* CodePack:BeginIgnore() */
#ifndef VCZH_DEBUG_NO_REFLECTION
/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */
#include "DemoReflection.h"
#endif
/* CodePack:EndIgnore() */
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
#define GLOBAL_SYMBOL ::vl_workflow_global::Demo::
#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance().
#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance()
#define USERIMPL(...)
/***********************************************************************
Class (::demo::DocumentEditorBase)
***********************************************************************/
namespace demo
{
::vl::presentation::controls::GuiToolstripCommand* DocumentEditorBase::GetEditModeCommand()
{
return this->__vwsn_prop_EditModeCommand;
}
void DocumentEditorBase::SetEditModeCommand(::vl::presentation::controls::GuiToolstripCommand* __vwsn_value_)
{
if ((this->__vwsn_prop_EditModeCommand != __vwsn_value_))
{
(this->__vwsn_prop_EditModeCommand = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->EditModeCommandChanged)();
}
}
void DocumentEditorBase::SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode editMode)
{
auto command = ((editMode == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::ViewOnly) ? this->commandViewOnly : ((editMode == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Selectable) ? this->commandSelectable : this->commandEditable));
::vl::__vwsn::This(this->document)->SetEditMode(editMode);
::vl::__vwsn::This(this->commandViewOnly)->SetSelected((command == this->commandViewOnly));
::vl::__vwsn::This(this->commandSelectable)->SetSelected((command == this->commandSelectable));
::vl::__vwsn::This(this->commandEditable)->SetSelected((command == this->commandEditable));
this->SetEditModeCommand(command);
::vl::__vwsn::This(this->self)->UpdateSubscriptions();
}
::vl::presentation::controls::GuiToolstripCommand* DocumentEditorBase::SelectAlignmentCommand()
{
auto alignment = ::vl::__vwsn::This(this->document)->SummarizeParagraphAlignment(::vl::__vwsn::This(this->document)->GetCaretBegin(), ::vl::__vwsn::This(this->document)->GetCaretEnd());
return ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Left)) ? this->commandAlignLeft : ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Center)) ? this->commandAlignCenter : ((alignment == ::vl::Nullable<::vl::presentation::Alignment>(::vl::presentation::Alignment::Right)) ? this->commandAlignRight : this->commandAlignDefault)));
}
void DocumentEditorBase::SetAlignment(::vl::Nullable<::vl::presentation::Alignment> alignment)
{
::vl::__vwsn::This(this->document)->SetParagraphAlignment(::vl::__vwsn::This(this->document)->GetCaretBegin(), ::vl::__vwsn::This(this->document)->GetCaretEnd(), alignment);
::vl::__vwsn::This(this->self)->UpdateSubscriptions();
}
bool DocumentEditorBase::GetHasEditableSelection()
{
return this->__vwsn_prop_HasEditableSelection;
}
void DocumentEditorBase::SetHasEditableSelection(bool __vwsn_value_)
{
if ((this->__vwsn_prop_HasEditableSelection != __vwsn_value_))
{
(this->__vwsn_prop_HasEditableSelection = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->HasEditableSelectionChanged)();
}
}
bool DocumentEditorBase::GetHasEditableSelectionInSingleParagraph()
{
return this->__vwsn_prop_HasEditableSelectionInSingleParagraph;
}
void DocumentEditorBase::SetHasEditableSelectionInSingleParagraph(bool __vwsn_value_)
{
if ((this->__vwsn_prop_HasEditableSelectionInSingleParagraph != __vwsn_value_))
{
(this->__vwsn_prop_HasEditableSelectionInSingleParagraph = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->HasEditableSelectionInSingleParagraphChanged)();
}
}
bool DocumentEditorBase::HasEditableCursor()
{
return (::vl::__vwsn::This(this->document)->GetEditMode() == ::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable);
}
bool DocumentEditorBase::HasEditableHyperlink(bool forEdit)
{
auto a = ::vl::__vwsn::This(this->document)->GetCaretBegin();
auto b = ::vl::__vwsn::This(this->document)->GetCaretEnd();
return ((a.row == b.row) && (a.column != b.column));
}
::vl::presentation::compositions::GuiGraphicsComposition* DocumentEditorBase::GetMenuContainer()
{
return static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->menuContainer);
}
::vl::presentation::compositions::GuiGraphicsComposition* DocumentEditorBase::GetToolstripContainer()
{
return static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(this->toolstripContainer);
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::LoadAsPrivateFormat(const ::vl::WString& fileName)
{
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::ReadOnly);
auto model = vl::presentation::LoadDocumentFromClipboardStream(fileStream);
document->SetDocument(model);
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsPrivateFormat(const ::vl::WString& fileName)
{
document->SelectAll();
auto model = document->GetSelectionModel();
vl::presentation::ModifyDocumentForClipboard(model);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
vl::presentation::SaveDocumentToClipboardStream(model, fileStream);
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsRTF(const ::vl::WString& fileName)
{
document->SelectAll();
auto model = document->GetSelectionModel();
vl::AString rtf;
vl::presentation::SaveDocumentToRtf(model, rtf);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
fileStream.Write((void*)rtf.Buffer(), rtf.Length());
}
USERIMPL(/* ::demo::DocumentEditorBase */)
void DocumentEditorBase::SaveAsHTML(const ::vl::WString& fileName)
{
document->SelectAll();
auto model = document->GetSelectionModel();
vl::AString header, content, footer;
vl::presentation::SaveDocumentToHtmlUtf8(model, header, content, footer);
vl::stream::FileStream fileStream(fileName, vl::stream::FileStream::WriteOnly);
fileStream.Write((void*)header.Buffer(), header.Length());
fileStream.Write((void*)content.Buffer(), content.Length());
fileStream.Write((void*)footer.Buffer(), footer.Length());
}
void DocumentEditorBase::SaveDocument()
{
if (::vl::__vwsn::This(this->dialogSaveDoc)->ShowDialog())
{
{
auto __vwsn_switch_0 = ::vl::__vwsn::This(this->dialogSaveDoc)->GetFilterIndex();
if ((__vwsn_switch_0 == static_cast<::vl::vint>(0)))
{
::vl::__vwsn::This(this->self)->SaveAsPrivateFormat(::vl::__vwsn::This(this->dialogSaveDoc)->GetFileName());
}
else if ((__vwsn_switch_0 == static_cast<::vl::vint>(1)))
{
::vl::__vwsn::This(this->self)->SaveAsRTF(::vl::__vwsn::This(this->dialogSaveDoc)->GetFileName());
}
else if ((__vwsn_switch_0 == static_cast<::vl::vint>(2)))
{
::vl::__vwsn::This(this->self)->SaveAsHTML(::vl::__vwsn::This(this->dialogSaveDoc)->GetFileName());
}
}
}
}
DocumentEditorBase::DocumentEditorBase()
: ::vl::presentation::controls::GuiCustomControl(::vl::presentation::theme::ThemeName::CustomControl)
, __vwsn_prop_EditModeCommand(static_cast<::vl::presentation::controls::GuiToolstripCommand*>(nullptr))
, __vwsn_prop_HasEditableSelection(false)
, __vwsn_prop_HasEditableSelectionInSingleParagraph(false)
{
auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DocumentEditorBase", false));
auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
::vl::__vwsn::This(this)->__vwsn_demo_DocumentEditorBase_Initialize(this);
this->__vwsn_instance_ctor_();
}
void DocumentEditorBase::__vwsn_instance_ctor_()
{
this->SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode::Editable);
}
DocumentEditorBase::~DocumentEditorBase()
{
this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this));
}
}
#undef GLOBAL_SYMBOL
#undef GLOBAL_NAME
#undef GLOBAL_OBJ
#undef USERIMPL
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
@@ -0,0 +1,169 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORBASE
#define VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORBASE
#include "DemoPartialClasses.h"
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
namespace demo
{
class DocumentEditorBase : public ::vl::presentation::controls::GuiCustomControl, public ::demo::DocumentEditorBaseConstructor, public ::vl::reflection::Description<DocumentEditorBase>
{
friend class ::demo::DocumentEditorBaseConstructor;
friend class ::vl_workflow_global::__vwsnc10_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc11_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc12_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize____vl_reflection_description_ICoroutine;
friend class ::vl_workflow_global::__vwsnc13_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc14_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc15_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc16_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc17_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc18_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc19_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc20_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc21_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc22_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc23_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc24_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc25_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc26_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc27_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc28_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc29_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc30_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc31_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc32_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc3_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc4_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc5_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc6_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc7_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc8_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc9_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf10_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf11_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf12_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf13_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf14_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf15_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf16_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf17_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf18_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf19_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf20_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf21_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf22_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf23_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf24_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf25_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf26_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf27_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf28_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf29_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf30_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf31_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf32_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize__;
friend struct ::vl_workflow_global::__vwsnf33_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf34_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf35_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf36_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf37_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf38_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf39_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf40_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf41_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf42_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf43_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf44_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf45_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf46_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf47_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf48_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf49_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf50_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf51_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf52_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf53_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf54_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf55_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf56_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf57_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf58_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf59_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf60_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf61_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf62_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf63_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf64_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf65_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf66_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf67_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
friend struct ::vl_workflow_global::__vwsnf9_Demo_demo_DocumentEditorBaseConstructor___vwsn_demo_DocumentEditorBase_Initialize_;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<DocumentEditorBase>;
#endif
protected:
::vl::presentation::controls::GuiToolstripCommand* __vwsn_prop_EditModeCommand;
::vl::presentation::controls::GuiToolstripCommand* GetEditModeCommand();
void SetEditModeCommand(::vl::presentation::controls::GuiToolstripCommand* __vwsn_value_);
::vl::Event<void()> EditModeCommandChanged;
private:
void SetEditMode(::vl::presentation::controls::GuiDocumentCommonInterface::EditMode editMode);
protected:
::vl::presentation::controls::GuiToolstripCommand* SelectAlignmentCommand();
private:
void SetAlignment(::vl::Nullable<::vl::presentation::Alignment> alignment);
bool __vwsn_prop_HasEditableSelection;
bool GetHasEditableSelection();
void SetHasEditableSelection(bool __vwsn_value_);
::vl::Event<void()> HasEditableSelectionChanged;
bool __vwsn_prop_HasEditableSelectionInSingleParagraph;
bool GetHasEditableSelectionInSingleParagraph();
void SetHasEditableSelectionInSingleParagraph(bool __vwsn_value_);
::vl::Event<void()> HasEditableSelectionInSingleParagraphChanged;
bool HasEditableCursor();
bool HasEditableHyperlink(bool forEdit);
protected:
::vl::presentation::compositions::GuiGraphicsComposition* GetMenuContainer();
::vl::presentation::compositions::GuiGraphicsComposition* GetToolstripContainer();
public:
void LoadAsPrivateFormat(const ::vl::WString& fileName);
void SaveAsPrivateFormat(const ::vl::WString& fileName);
void SaveAsRTF(const ::vl::WString& fileName);
void SaveAsHTML(const ::vl::WString& fileName);
private:
void SaveDocument();
public:
DocumentEditorBase();
void __vwsn_instance_ctor_();
~DocumentEditorBase();
};
}
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
#endif
@@ -0,0 +1,204 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#include "Demo.h"
/* CodePack:BeginIgnore() */
#ifndef VCZH_DEBUG_NO_REFLECTION
/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */
#include "DemoReflection.h"
#endif
/* CodePack:EndIgnore() */
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
#define GLOBAL_SYMBOL ::vl_workflow_global::Demo::
#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance().
#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance()
#define USERIMPL(...)
/***********************************************************************
Class (::demo::DocumentEditorRibbon)
***********************************************************************/
namespace demo
{
bool DocumentEditorRibbon::GetAlignLeftSelected()
{
return this->__vwsn_prop_AlignLeftSelected;
}
void DocumentEditorRibbon::SetAlignLeftSelected(bool __vwsn_value_)
{
if ((this->__vwsn_prop_AlignLeftSelected != __vwsn_value_))
{
(this->__vwsn_prop_AlignLeftSelected = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->AlignLeftSelectedChanged)();
}
}
bool DocumentEditorRibbon::GetAlignCenterSelected()
{
return this->__vwsn_prop_AlignCenterSelected;
}
void DocumentEditorRibbon::SetAlignCenterSelected(bool __vwsn_value_)
{
if ((this->__vwsn_prop_AlignCenterSelected != __vwsn_value_))
{
(this->__vwsn_prop_AlignCenterSelected = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->AlignCenterSelectedChanged)();
}
}
bool DocumentEditorRibbon::GetAlignRightSelected()
{
return this->__vwsn_prop_AlignRightSelected;
}
void DocumentEditorRibbon::SetAlignRightSelected(bool __vwsn_value_)
{
if ((this->__vwsn_prop_AlignRightSelected != __vwsn_value_))
{
(this->__vwsn_prop_AlignRightSelected = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->AlignRightSelectedChanged)();
}
}
::vl::Ptr<::vl::reflection::description::IValueList> DocumentEditorRibbon::GetStyleGroups()
{
return this->__vwsn_prop_StyleGroups;
}
void DocumentEditorRibbon::SetStyleGroups(::vl::Ptr<::vl::reflection::description::IValueList> __vwsn_value_)
{
if ((this->__vwsn_prop_StyleGroups.Obj() != __vwsn_value_.Obj()))
{
(this->__vwsn_prop_StyleGroups = __vwsn_value_);
::vl::__vwsn::EventInvoke(this->StyleGroupsChanged)();
}
}
::vl::Ptr<::vl::reflection::description::IValueList> DocumentEditorRibbon::GenerateStyleGroups()
{
auto group1 = ::vl::Ptr<::demo::StyleGroup>(new ::demo::StyleGroup());
(::vl::__vwsn::This(group1.Obj())->Name = ::vl::WString(L"Headers", false));
::vl::__vwsn::This(::vl::__vwsn::This(group1.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Header 1", false), [&](){ ::vl::presentation::DocumentFontSize __vwsn_temp__; __vwsn_temp__.size = static_cast<double>(2); __vwsn_temp__.relative = true; return __vwsn_temp__; }(), ::vl::Nullable<::vl::presentation::Color>(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF8000", false))), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group1.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Header 2", false), [&](){ ::vl::presentation::DocumentFontSize __vwsn_temp__; __vwsn_temp__.size = static_cast<double>(1.6); __vwsn_temp__.relative = true; return __vwsn_temp__; }(), ::vl::Nullable<::vl::presentation::Color>(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#FF8000", false))), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group1.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Header 3", false), [&](){ ::vl::presentation::DocumentFontSize __vwsn_temp__; __vwsn_temp__.size = static_cast<double>(1.3); __vwsn_temp__.relative = true; return __vwsn_temp__; }(), ::vl::Nullable<::vl::presentation::Color>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>()))));
auto group2 = ::vl::Ptr<::demo::StyleGroup>(new ::demo::StyleGroup());
(::vl::__vwsn::This(group2.Obj())->Name = ::vl::WString(L"Content", false));
::vl::__vwsn::This(::vl::__vwsn::This(group2.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Strong", false), ::vl::Nullable<::vl::presentation::DocumentFontSize>(), ::vl::Nullable<::vl::presentation::Color>(), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group2.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Quote", false), ::vl::Nullable<::vl::presentation::DocumentFontSize>(), ::vl::Nullable<::vl::presentation::Color>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>(), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group2.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Emphasis", false), ::vl::Nullable<::vl::presentation::DocumentFontSize>(), ::vl::Nullable<::vl::presentation::Color>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group2.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Intense Emphasis", false), ::vl::Nullable<::vl::presentation::DocumentFontSize>(), ::vl::Nullable<::vl::presentation::Color>(::vl::__vwsn::Parse<::vl::presentation::Color>(::vl::WString(L"#8080FF", false))), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>(true), ::vl::Nullable<bool>()))));
::vl::__vwsn::This(::vl::__vwsn::This(group2.Obj())->Items.Obj())->Add(::vl::__vwsn::Box(::vl::Ptr<::demo::StyleItem>(new ::demo::StyleItem(::vl::WString(L"Deleted", false), ::vl::Nullable<::vl::presentation::DocumentFontSize>(), ::vl::Nullable<::vl::presentation::Color>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(), ::vl::Nullable<bool>(true)))));
auto styles = ::vl::__vwsn::UnboxCollection<::vl::reflection::description::IValueDictionary>(::vl::__vwsn::This(::vl::__vwsn::This(this->document)->GetDocument().Obj())->styles);
{
auto __vwsn_for_enumerable_styleItem = ::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(group1.Obj())->Items);
auto __vwsn_for_enumerator_styleItem = ::vl::__vwsn::This(__vwsn_for_enumerable_styleItem.Obj())->CreateEnumerator();
while (::vl::__vwsn::This(__vwsn_for_enumerator_styleItem.Obj())->Next())
{
auto styleItem = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::StyleItem>>(::vl::__vwsn::This(__vwsn_for_enumerator_styleItem.Obj())->GetCurrent());
{
::vl::__vwsn::This(styles.Obj())->Set(::vl::__vwsn::Box(::vl::__vwsn::This(styleItem.Obj())->Name), ::vl::__vwsn::Box(::vl::__vwsn::This(styleItem.Obj())->Style));
}
}
}
{
auto __vwsn_for_enumerable_styleItem = ::vl::Ptr<::vl::reflection::description::IValueEnumerable>(::vl::__vwsn::This(group2.Obj())->Items);
auto __vwsn_for_enumerator_styleItem = ::vl::__vwsn::This(__vwsn_for_enumerable_styleItem.Obj())->CreateEnumerator();
while (::vl::__vwsn::This(__vwsn_for_enumerator_styleItem.Obj())->Next())
{
auto styleItem = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::StyleItem>>(::vl::__vwsn::This(__vwsn_for_enumerator_styleItem.Obj())->GetCurrent());
{
::vl::__vwsn::This(styles.Obj())->Set(::vl::__vwsn::Box(::vl::__vwsn::This(styleItem.Obj())->Name), ::vl::__vwsn::Box(::vl::__vwsn::This(styleItem.Obj())->Style));
}
}
}
return (::vl::__vwsn::CreateList().Add(group1).Add(group2)).list;
}
void DocumentEditorRibbon::SelectStyleName(const ::vl::Nullable<::vl::WString>& styleName)
{
if (static_cast<bool>(styleName))
{
{
auto __vwsn_for_begin_groupIndex = static_cast<::vl::vint>(0);
auto __vwsn_for_end_groupIndex = (::vl::__vwsn::This(this->GetStyleGroups().Obj())->GetCount() - static_cast<::vl::vint>(1));
auto groupIndex = __vwsn_for_begin_groupIndex;
while ((groupIndex <= __vwsn_for_end_groupIndex))
{
{
auto group = ::vl::__vwsn::Unbox<::vl::Ptr<::demo::StyleGroup>>(::vl::__vwsn::This(this->GetStyleGroups().Obj())->Get(groupIndex));
{
auto __vwsn_for_begin_itemIndex = static_cast<::vl::vint>(0);
auto __vwsn_for_end_itemIndex = (::vl::__vwsn::This(::vl::__vwsn::This(group.Obj())->Items.Obj())->GetCount() - static_cast<::vl::vint>(1));
auto itemIndex = __vwsn_for_begin_itemIndex;
while ((itemIndex <= __vwsn_for_end_itemIndex))
{
{
if ((::vl::__vwsn::This(::vl::__vwsn::Unbox<::vl::Ptr<::demo::StyleItem>>(::vl::__vwsn::This(::vl::__vwsn::This(group.Obj())->Items.Obj())->Get(itemIndex)).Obj())->Name == styleName.Value()))
{
::vl::__vwsn::This(this->styleGallery)->SelectItem(::vl::__vwsn::This(this->styleGallery)->GalleryPosToIndex([&](){ ::vl::presentation::controls::GalleryPos __vwsn_temp__; __vwsn_temp__.group = groupIndex; __vwsn_temp__.item = itemIndex; return __vwsn_temp__; }()));
return;
}
}
(itemIndex = (itemIndex + static_cast<::vl::vint>(1)));
}
}
}
(groupIndex = (groupIndex + static_cast<::vl::vint>(1)));
}
}
}
::vl::__vwsn::This(this->styleGallery)->SelectItem((- static_cast<::vl::vint>(1)));
}
DocumentEditorRibbon::DocumentEditorRibbon()
: __vwsn_prop_AlignLeftSelected(true)
, __vwsn_prop_AlignCenterSelected(true)
, __vwsn_prop_AlignRightSelected(true)
, __vwsn_prop_StyleGroups(::vl::Ptr<::vl::reflection::description::IValueList>())
{
auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DocumentEditorRibbon", false));
auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
::vl::__vwsn::This(this)->__vwsn_demo_DocumentEditorRibbon_Initialize(this);
this->__vwsn_instance_ctor_();
}
void DocumentEditorRibbon::__vwsn_instance_ctor_()
{
this->SetStyleGroups(this->GenerateStyleGroups());
::vl::__vwsn::EventAttach(::vl::__vwsn::This(this->document)->SelectionChanged, LAMBDA(::vl_workflow_global::__vwsnf83_Demo_demo_DocumentEditorRibbon___vwsn_instance_ctor__(this)));
}
DocumentEditorRibbon::~DocumentEditorRibbon()
{
this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this));
}
}
#undef GLOBAL_SYMBOL
#undef GLOBAL_NAME
#undef GLOBAL_OBJ
#undef USERIMPL
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
@@ -0,0 +1,94 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORRIBBON
#define VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORRIBBON
#include "DemoPartialClasses.h"
#include "DocumentEditorBase.h"
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
namespace demo
{
class DocumentEditorRibbon : public ::demo::DocumentEditorBase, public ::demo::DocumentEditorRibbonConstructor, public ::vl::reflection::Description<DocumentEditorRibbon>
{
friend struct ::vl_workflow_global::__vwsnf83_Demo_demo_DocumentEditorRibbon___vwsn_instance_ctor__;
friend class ::demo::DocumentEditorRibbonConstructor;
friend class ::vl_workflow_global::__vwsnc33_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc34_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc35_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc36_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc37_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc38_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc39_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc40_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc41_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf68_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf69_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf70_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf71_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf72_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf73_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf74_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf75_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf76_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf77_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf78_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf79_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf80_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf81_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
friend struct ::vl_workflow_global::__vwsnf82_Demo_demo_DocumentEditorRibbonConstructor___vwsn_demo_DocumentEditorRibbon_Initialize_;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<DocumentEditorRibbon>;
#endif
private:
bool __vwsn_prop_AlignLeftSelected;
bool GetAlignLeftSelected();
void SetAlignLeftSelected(bool __vwsn_value_);
::vl::Event<void()> AlignLeftSelectedChanged;
bool __vwsn_prop_AlignCenterSelected;
bool GetAlignCenterSelected();
void SetAlignCenterSelected(bool __vwsn_value_);
::vl::Event<void()> AlignCenterSelectedChanged;
bool __vwsn_prop_AlignRightSelected;
bool GetAlignRightSelected();
void SetAlignRightSelected(bool __vwsn_value_);
::vl::Event<void()> AlignRightSelectedChanged;
::vl::Ptr<::vl::reflection::description::IValueList> __vwsn_prop_StyleGroups;
::vl::Ptr<::vl::reflection::description::IValueList> GetStyleGroups();
void SetStyleGroups(::vl::Ptr<::vl::reflection::description::IValueList> __vwsn_value_);
::vl::Event<void()> StyleGroupsChanged;
::vl::Ptr<::vl::reflection::description::IValueList> GenerateStyleGroups();
void SelectStyleName(const ::vl::Nullable<::vl::WString>& styleName);
public:
DocumentEditorRibbon();
void __vwsn_instance_ctor_();
~DocumentEditorRibbon();
};
}
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
#endif
@@ -0,0 +1,65 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#include "Demo.h"
/* CodePack:BeginIgnore() */
#ifndef VCZH_DEBUG_NO_REFLECTION
/* CodePack:ConditionOff(VCZH_DEBUG_NO_REFLECTION, DemoReflection.h) */
#include "DemoReflection.h"
#endif
/* CodePack:EndIgnore() */
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
#define GLOBAL_SYMBOL ::vl_workflow_global::Demo::
#define GLOBAL_NAME ::vl_workflow_global::Demo::Instance().
#define GLOBAL_OBJ &::vl_workflow_global::Demo::Instance()
#define USERIMPL(...)
/***********************************************************************
Class (::demo::DocumentEditorToolstrip)
***********************************************************************/
namespace demo
{
DocumentEditorToolstrip::DocumentEditorToolstrip()
{
auto __vwsn_resource_ = ::vl::__vwsn::This(::vl::presentation::GetResourceManager())->GetResourceFromClassName(::vl::WString(L"demo::DocumentEditorToolstrip", false));
auto __vwsn_resolver_ = ::vl::Ptr<::vl::presentation::GuiResourcePathResolver>(new ::vl::presentation::GuiResourcePathResolver(__vwsn_resource_, ::vl::__vwsn::This(__vwsn_resource_.Obj())->GetWorkingDirectory()));
::vl::__vwsn::This(this)->SetResourceResolver(__vwsn_resolver_);
::vl::__vwsn::This(this)->__vwsn_demo_DocumentEditorToolstrip_Initialize(this);
}
DocumentEditorToolstrip::~DocumentEditorToolstrip()
{
this->FinalizeInstanceRecursively(static_cast<::vl::presentation::controls::GuiCustomControl*>(this));
}
}
#undef GLOBAL_SYMBOL
#undef GLOBAL_NAME
#undef GLOBAL_OBJ
#undef USERIMPL
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
@@ -0,0 +1,53 @@
/***********************************************************************
!!!!!! DO NOT MODIFY !!!!!!
GacGen.exe Resource.xml
This file is generated by Workflow compiler
https://github.com/vczh-libraries
***********************************************************************/
#ifndef VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORTOOLSTRIP
#define VCZH_WORKFLOW_COMPILER_GENERATED_DOCUMENTEDITORTOOLSTRIP
#include "DemoPartialClasses.h"
#include "DocumentEditorBase.h"
#if defined( _MSC_VER)
#pragma warning(push)
#pragma warning(disable:4250)
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wparentheses-equality"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wparentheses-equality"
#endif
namespace demo
{
class DocumentEditorToolstrip : public ::demo::DocumentEditorBase, public ::demo::DocumentEditorToolstripConstructor, public ::vl::reflection::Description<DocumentEditorToolstrip>
{
friend class ::demo::DocumentEditorToolstripConstructor;
friend class ::vl_workflow_global::__vwsnc45_Demo_demo_DocumentEditorToolstripConstructor___vwsn_demo_DocumentEditorToolstrip_Initialize__vl_reflection_description_IValueSubscription;
friend class ::vl_workflow_global::__vwsnc46_Demo_demo_DocumentEditorToolstripConstructor___vwsn_demo_DocumentEditorToolstrip_Initialize__vl_reflection_description_IValueSubscription;
friend struct ::vl_workflow_global::__vwsnf87_Demo_demo_DocumentEditorToolstripConstructor___vwsn_demo_DocumentEditorToolstrip_Initialize_;
friend struct ::vl_workflow_global::__vwsnf88_Demo_demo_DocumentEditorToolstripConstructor___vwsn_demo_DocumentEditorToolstrip_Initialize_;
#ifndef VCZH_DEBUG_NO_REFLECTION
friend struct ::vl::reflection::description::CustomTypeDescriptorSelector<DocumentEditorToolstrip>;
#endif
public:
DocumentEditorToolstrip();
~DocumentEditorToolstrip();
};
}
#if defined( _MSC_VER)
#pragma warning(pop)
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
#endif
@@ -11,6 +11,13 @@
<Image name="CopyLarge" content="File">L_Copy.png</Image>
<Image name="CutLarge" content="File">L_Cut.png</Image>
<Image name="PasteLarge" content="File">L_Paste.png</Image>
<Image name="FormatPrivate" content="File">_FormatPrivate.png</Image>
<Image name="FormatRtf" content="File">_FormatRtf.png</Image>
<Image name="FormatHtml" content="File">_FormatHtml.png</Image>
<Image name="FormatPrivateLarge" content="File">L_FormatPrivate.png</Image>
<Image name="FormatRtfLarge" content="File">L_FormatRtf.png</Image>
<Image name="FormatHtmlLarge" content="File">L_FormatHtml.png</Image>
<Image name="Bold" content="File">s_Bold.png</Image>
<Image name="Italic" content="File">s_Italic.png</Image>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.