mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-07 19:17:26 +08:00
Update release
This commit is contained in:
@@ -541,26 +541,7 @@ UnitTestSnapshotViewerAppWindow
|
||||
{
|
||||
labelLoading->SetVisible(true);
|
||||
scRendering->SetVisible(false);
|
||||
|
||||
struct LoadingContext
|
||||
{
|
||||
vint version;
|
||||
Ptr<EventHandler> handler;
|
||||
};
|
||||
auto context = Ptr(new LoadingContext);
|
||||
context->version = ++loadingFrameVersion;
|
||||
context->handler = frame->DomChanged.Add([=, this]()
|
||||
{
|
||||
if (context->version == loadingFrameVersion)
|
||||
{
|
||||
loadDom();
|
||||
GetApplication()->InvokeInMainThread(GetApplication()->GetMainWindow(), [=]()
|
||||
{
|
||||
frame->DomChanged.Remove(context->handler);
|
||||
context->handler = {};
|
||||
});
|
||||
}
|
||||
});
|
||||
__vwsn::EventAttachOnce(frame->DomChanged, loadDom, loadingFrameVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -677,6 +658,7 @@ UnitTestSnapshotViewerAppWindow
|
||||
|
||||
UnitTestSnapshotViewerAppWindow::UnitTestSnapshotViewerAppWindow(Ptr<UnitTestSnapshotViewerViewModel> viewModel)
|
||||
: UnitTestSnapshotViewerWindow(viewModel)
|
||||
, loadingFrameVersion(Ptr(new reflection::description::Versioning))
|
||||
{
|
||||
textListFrames->SelectionChanged.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::textListFrames_SelectionChanged);
|
||||
treeViewDom->SelectionChanged.AttachMethod(this, &UnitTestSnapshotViewerAppWindow::treeViewDom_SelectionChanged);
|
||||
|
||||
@@ -619,7 +619,7 @@ namespace gaclib_controls
|
||||
vl::presentation::compositions::GuiBoundsComposition* rootComposition = nullptr;
|
||||
vl::presentation::compositions::GuiBoundsComposition* selectedComposition = nullptr;
|
||||
vl::presentation::compositions::GuiBoundsComposition* highlightComposition = nullptr;
|
||||
vl::vint loadingFrameVersion = 0;
|
||||
vl::Ptr<vl::presentation::description::Versioning> loadingFrameVersion;
|
||||
|
||||
void Highlight(vl::presentation::compositions::GuiBoundsComposition*& target, vl::presentation::remoteprotocol::RenderingDom& renderingDom, vl::presentation::Color color);
|
||||
void textListFrames_SelectionChanged(vl::presentation::compositions::GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
|
||||
|
||||
+156
-52
@@ -19141,6 +19141,13 @@ GuiDocumentCommonInterface
|
||||
SelectionChanged.Execute(documentControl->GetNotifyEventArguments());
|
||||
}
|
||||
|
||||
void GuiDocumentCommonInterface::EnsureCaretVisible()
|
||||
{
|
||||
auto end = documentElement->GetCaretEnd();
|
||||
auto frontSide = documentElement->IsCaretEndPreferFrontSide();
|
||||
EnsureDocumentRectVisible(documentElement->GetCaretBounds(end, frontSide));
|
||||
}
|
||||
|
||||
TextPos GuiDocumentCommonInterface::CalculateCaretFromPoint(Point point)
|
||||
{
|
||||
return documentElement->CalculateCaretFromPoint(point);
|
||||
@@ -37082,7 +37089,13 @@ GuiRemoteGraphicsParagraph
|
||||
{
|
||||
auto response = messages.RetrieveRendererUpdateElement_DocumentParagraph(requestId);
|
||||
cachedSize = response.documentSize;
|
||||
cachedInlineObjectBounds.Clear();
|
||||
if (desc.removedInlineObjects)
|
||||
{
|
||||
for (auto callbackId : *desc.removedInlineObjects.Obj())
|
||||
{
|
||||
cachedInlineObjectBounds.Remove(callbackId);
|
||||
}
|
||||
}
|
||||
}
|
||||
committedRuns = std::move(stagedRuns);
|
||||
needUpdate = false;
|
||||
@@ -43969,15 +43982,15 @@ namespace vl::presentation::remote_renderer
|
||||
|
||||
void GuiRemoteRendererSingle::RequestRendererEndRendering(vint id)
|
||||
{
|
||||
events->RespondRendererEndRendering(id, elementMeasurings);
|
||||
elementMeasurings = {};
|
||||
fontHeightMeasurings.Clear();
|
||||
supressRefresh = false;
|
||||
if (needRefresh)
|
||||
{
|
||||
needRefresh = false;
|
||||
ForceRender();
|
||||
}
|
||||
events->RespondRendererEndRendering(id, elementMeasurings);
|
||||
elementMeasurings = {};
|
||||
fontHeightMeasurings.Clear();
|
||||
}
|
||||
|
||||
void GuiRemoteRendererSingle::RequestRendererIdle()
|
||||
@@ -44568,6 +44581,8 @@ namespace vl::presentation::remote_renderer
|
||||
[&](const remoteprotocol::DocumentInlineObjectRunProperty& inlineProp)
|
||||
{
|
||||
CHECK_ERROR(elements::AddInlineObjectRun(inlineObjectRuns, range, inlineProp), ERROR_MESSAGE_PREFIX L"arguments.runsDiff updated an inline object run incorrectly.");
|
||||
inlineObjectProps.Set(inlineProp.callbackId, inlineProp);
|
||||
inlineObjectRanges.Set(inlineProp.callbackId, range);
|
||||
}
|
||||
));
|
||||
}
|
||||
@@ -47052,6 +47067,22 @@ Clone the current run with its children
|
||||
|
||||
namespace document_editor
|
||||
{
|
||||
bool CompareStyleProperties(Ptr<DocumentStyleProperties> a, Ptr<DocumentStyleProperties> b)
|
||||
{
|
||||
if (!a && !b) return true;
|
||||
if (!a || !b) return false;
|
||||
return a->face == b->face
|
||||
&& a->size == b->size
|
||||
&& a->color == b->color
|
||||
&& a->backgroundColor == b->backgroundColor
|
||||
&& a->bold == b->bold
|
||||
&& a->italic == b->italic
|
||||
&& a->underline == b->underline
|
||||
&& a->strikeline == b->strikeline
|
||||
&& a->antialias == b->antialias
|
||||
&& a->verticalAntialias == b->verticalAntialias;
|
||||
}
|
||||
|
||||
Ptr<DocumentStyleProperties> CopyStyle(Ptr<DocumentStyleProperties> style)
|
||||
{
|
||||
if (!style) return nullptr;
|
||||
@@ -48552,6 +48583,10 @@ DocumentModel::EditRangeOperations
|
||||
WString styleName=styleNames[i];
|
||||
if(!newDocument->styles.Keys().Contains(styleName))
|
||||
{
|
||||
if (!styles.Keys().Contains(styleName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
Ptr<DocumentStyle> style=styles[styleName];
|
||||
if(deepCopy)
|
||||
{
|
||||
@@ -48704,6 +48739,13 @@ DocumentModel::EditRun
|
||||
WString name=newNames[i];
|
||||
if((name.Length()==0 || name[0]!=L'#') && styles.Keys().Contains(name))
|
||||
{
|
||||
auto existingStyle = styles[name];
|
||||
auto incomingStyle = model->styles[name];
|
||||
if (existingStyle->parentStyleName == incomingStyle->parentStyleName
|
||||
&& document_editor::CompareStyleProperties(existingStyle->styles, incomingStyle->styles))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
vint index=2;
|
||||
while(true)
|
||||
{
|
||||
@@ -53663,7 +53705,20 @@ View Model (IFileDialogViewModel)
|
||||
|
||||
if (!extensionFromFilter && defaultExtension != WString::Empty)
|
||||
{
|
||||
extension = defaultExtension;
|
||||
// Only use the dialog default extension if it matches the current filter
|
||||
if (selectedFilter && selectedFilter->regexFilter)
|
||||
{
|
||||
auto testName = WString::Unmanaged(L"x.") + defaultExtension;
|
||||
auto match = selectedFilter->regexFilter->MatchHead(testName);
|
||||
if (match && match->Result().Length() == testName.Length())
|
||||
{
|
||||
extension = defaultExtension;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
extension = defaultExtension;
|
||||
}
|
||||
}
|
||||
|
||||
auto normalized = [&](filesystem::FilePath path)
|
||||
@@ -53674,20 +53729,18 @@ View Model (IFileDialogViewModel)
|
||||
vint lExt = sExt.Length();
|
||||
auto full = path.GetFullPath();
|
||||
|
||||
if (extensionFromFilter)
|
||||
auto selectedFileName = path.GetName();
|
||||
if (selectedFilter && selectedFilter->regexFilter)
|
||||
{
|
||||
if (full.Length() >= lExt && full.Right(lExt) == sExt)
|
||||
auto match = selectedFilter->regexFilter->MatchHead(selectedFileName);
|
||||
if (match && match->Result().Length() == selectedFileName.Length())
|
||||
{
|
||||
return path;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (INVLOC.FindFirst(selectedFileName, WString::Unmanaged(L"."), Locale::None).key != -1)
|
||||
{
|
||||
auto selectedFileName = path.GetName();
|
||||
if (INVLOC.FindFirst(selectedFileName, WString::Unmanaged(L"."), Locale::None).key != -1)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
return path;
|
||||
}
|
||||
return filesystem::FilePath(full + sExt);
|
||||
};
|
||||
@@ -53902,30 +53955,53 @@ View Model (IFileDialogViewModel)
|
||||
FakeDialogServiceBase
|
||||
***********************************************************************/
|
||||
|
||||
bool FakeDialogServiceBase::ShowFileDialog(
|
||||
INativeWindow* window,
|
||||
collections::List<WString>& selectionFileNames,
|
||||
vint& selectionFilterIndex,
|
||||
FileDialogTypes dialogType,
|
||||
const WString& title,
|
||||
const WString& initialFileName,
|
||||
const WString& initialDirectory,
|
||||
const WString& defaultExtension,
|
||||
const WString& filter,
|
||||
FileDialogOptions options
|
||||
)
|
||||
void FakeDialogServiceBase::ParseFileDialogFilter(const WString& filter, collections::List<FilterDesc>& descs)
|
||||
{
|
||||
auto vm = Ptr(new FileDialogViewModel);
|
||||
vm->dialogService = this;
|
||||
vm->title = title;
|
||||
vm->enabledMultipleSelection = (options & INativeDialogService::FileDialogAllowMultipleSelection) != 0;
|
||||
vm->fileMustExist = (options & INativeDialogService::FileDialogFileMustExist) != 0;
|
||||
vm->folderMustExist = (options & INativeDialogService::FileDialogDirectoryMustExist) != 0;
|
||||
vm->promptCreateFile = (options & INativeDialogService::FileDialogPromptCreateFile) != 0;
|
||||
vm->promptOverriteFile = (options & INativeDialogService::FileDialogPromptOverwriteFile) != 0;
|
||||
vm->defaultExtension = defaultExtension;
|
||||
auto GetSingleWildcardDefaultExtension = [](const WString& wildcard) -> Nullable<WString>
|
||||
{
|
||||
// Accept only "*.<ext>" where <ext> is non-empty and contains no '*', '?', or ';'.
|
||||
if (wildcard.Length() < 3) return {};
|
||||
if (wildcard[0] != L'*' || wildcard[1] != L'.') return {};
|
||||
auto ext = wildcard.Right(wildcard.Length() - 2);
|
||||
for (vint i = 0; i < ext.Length(); i++)
|
||||
{
|
||||
switch (ext[i])
|
||||
{
|
||||
case L'*':
|
||||
case L'?':
|
||||
case L';':
|
||||
return {};
|
||||
}
|
||||
}
|
||||
return Nullable<WString>(ext);
|
||||
};
|
||||
|
||||
auto GetFilterDefaultExtension = [&](const WString& wildcardExpr) -> Nullable<WString>
|
||||
{
|
||||
// Split by ';' and return the first qualifying extension
|
||||
vint start = 0;
|
||||
while (start <= wildcardExpr.Length())
|
||||
{
|
||||
vint semicolonPos = -1;
|
||||
for (vint i = start; i < wildcardExpr.Length(); i++)
|
||||
{
|
||||
if (wildcardExpr[i] == L';')
|
||||
{
|
||||
semicolonPos = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
auto part = (semicolonPos == -1)
|
||||
? wildcardExpr.Right(wildcardExpr.Length() - start)
|
||||
: wildcardExpr.Sub(start, semicolonPos - start);
|
||||
auto ext = GetSingleWildcardDefaultExtension(part);
|
||||
if (ext) return ext;
|
||||
if (semicolonPos == -1) break;
|
||||
start = semicolonPos + 1;
|
||||
}
|
||||
return {};
|
||||
};
|
||||
|
||||
Regex regexFilterExt(L"/*.[^*?]+");
|
||||
Regex regexWildcard(L"[*?;]");
|
||||
vint filterStart = 0;
|
||||
while (true)
|
||||
@@ -53953,23 +54029,15 @@ FakeDialogServiceBase
|
||||
}
|
||||
}
|
||||
|
||||
auto filterItem = Ptr(new FileDialogFilter);
|
||||
filterItem->name = filter.Sub(filterStart, first - filterStart);
|
||||
filterItem->filter = filter.Sub(first + 1, (second == -1 ? count : second) - first - 1);
|
||||
|
||||
if (auto match = regexFilterExt.MatchHead(filterItem->filter))
|
||||
{
|
||||
if (match->Result().Length() == filterItem->filter.Length())
|
||||
{
|
||||
filterItem->defaultExtension = filterItem->filter.Right(filterItem->filter.Length() - 2);
|
||||
}
|
||||
}
|
||||
|
||||
auto regexFilter = stream::GenerateToStream([&](stream::TextWriter& writer)
|
||||
FilterDesc desc;
|
||||
desc.name = filter.Sub(filterStart, first - filterStart);
|
||||
desc.filter = filter.Sub(first + 1, (second == -1 ? count : second) - first - 1);
|
||||
desc.defaultExtensionOverride = GetFilterDefaultExtension(desc.filter);
|
||||
desc.regexFilterCode = stream::GenerateToStream([&](stream::TextWriter& writer)
|
||||
{
|
||||
writer.WriteString(L"^(");
|
||||
List<Ptr<RegexMatch>> matches;
|
||||
regexWildcard.Cut(filterItem->filter, false, matches);
|
||||
regexWildcard.Cut(desc.filter, false, matches);
|
||||
for (auto match : matches)
|
||||
{
|
||||
if (match->Success())
|
||||
@@ -53995,13 +54063,48 @@ FakeDialogServiceBase
|
||||
}
|
||||
writer.WriteString(L")$");
|
||||
});
|
||||
filterItem->regexFilter = Ptr(new Regex(regexFilter));
|
||||
|
||||
vm->filters.Add(filterItem);
|
||||
desc.regexFilter = Ptr(new Regex(desc.regexFilterCode));
|
||||
descs.Add(std::move(desc));
|
||||
|
||||
if (second == -1) break;
|
||||
filterStart = second + 1;
|
||||
}
|
||||
}
|
||||
|
||||
bool FakeDialogServiceBase::ShowFileDialog(
|
||||
INativeWindow* window,
|
||||
collections::List<WString>& selectionFileNames,
|
||||
vint& selectionFilterIndex,
|
||||
FileDialogTypes dialogType,
|
||||
const WString& title,
|
||||
const WString& initialFileName,
|
||||
const WString& initialDirectory,
|
||||
const WString& defaultExtension,
|
||||
const WString& filter,
|
||||
FileDialogOptions options
|
||||
)
|
||||
{
|
||||
auto vm = Ptr(new FileDialogViewModel);
|
||||
vm->dialogService = this;
|
||||
vm->title = title;
|
||||
vm->enabledMultipleSelection = (options & INativeDialogService::FileDialogAllowMultipleSelection) != 0;
|
||||
vm->fileMustExist = (options & INativeDialogService::FileDialogFileMustExist) != 0;
|
||||
vm->folderMustExist = (options & INativeDialogService::FileDialogDirectoryMustExist) != 0;
|
||||
vm->promptCreateFile = (options & INativeDialogService::FileDialogPromptCreateFile) != 0;
|
||||
vm->promptOverriteFile = (options & INativeDialogService::FileDialogPromptOverwriteFile) != 0;
|
||||
vm->defaultExtension = defaultExtension;
|
||||
|
||||
List<FilterDesc> filterDescs;
|
||||
ParseFileDialogFilter(filter, filterDescs);
|
||||
for (auto&& desc : filterDescs)
|
||||
{
|
||||
auto filterItem = Ptr(new FileDialogFilter);
|
||||
filterItem->name = desc.name;
|
||||
filterItem->filter = desc.filter;
|
||||
filterItem->defaultExtension = desc.defaultExtensionOverride;
|
||||
filterItem->regexFilter = desc.regexFilter;
|
||||
vm->filters.Add(filterItem);
|
||||
}
|
||||
|
||||
if (vm->filters.Count() > 0)
|
||||
{
|
||||
@@ -54052,6 +54155,7 @@ FakeDialogServiceBase
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
.\UTILITIES\FAKESERVICES\GUIFAKEDIALOGSERVICEBASE_FONTDIALOG.CPP
|
||||
***********************************************************************/
|
||||
|
||||
+46
-2
@@ -10889,6 +10889,38 @@ Helper Functions
|
||||
extern GuiApplication* GetApplication();
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
Workflow to C++ Codegen Helpers
|
||||
***********************************************************************/
|
||||
|
||||
namespace __vwsn
|
||||
{
|
||||
template<typename T>
|
||||
void EventAttachOnce(T& e, typename EventHelper<T>::Handler handler, Ptr<reflection::description::Versioning> versioning = {})
|
||||
{
|
||||
struct LoadingContext
|
||||
{
|
||||
vint version;
|
||||
Ptr<reflection::description::IEventHandler> handler;
|
||||
};
|
||||
auto context = Ptr(new LoadingContext);
|
||||
context->version = versioning ? versioning->AllocateVersion() : -1;
|
||||
context->handler = EventAttach(e, [=, &e]<typename ...TArgs>(TArgs&& ...args)
|
||||
{
|
||||
if (!versioning || context->version == versioning->GetVersion())
|
||||
{
|
||||
handler(std::forward<TArgs&&>(args)...);
|
||||
auto app = presentation::controls::GetApplication();
|
||||
app->InvokeInMainThread(app->GetMainWindow(), [=, &e]()
|
||||
{
|
||||
EventDetach(e, context->handler);
|
||||
context->handler = {};
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern void GuiApplicationMain();
|
||||
@@ -19964,8 +19996,8 @@ GuiDocumentCommonInterface
|
||||
/// </summary>
|
||||
/// <param name="begin">The begin position of the selection area.</param>
|
||||
/// <param name="end">The end position of the selection area.</param>
|
||||
void SetCaret(TextPos begin, TextPos end);
|
||||
/// <summary>Calculate a caret using a specified point.</summary>
|
||||
void SetCaret(TextPos begin, TextPos end); /// <summary>Ensure the caret is visible by scrolling the view if necessary.</summary>
|
||||
void EnsureCaretVisible(); /// <summary>Calculate a caret using a specified point.</summary>
|
||||
/// <returns>The calculated caret.</returns>
|
||||
/// <param name="point">The specified point.</param>
|
||||
TextPos CalculateCaretFromPoint(Point point);
|
||||
@@ -24270,6 +24302,7 @@ namespace vl
|
||||
extern void GetRunRange(DocumentParagraphRun* run, RunRangeMap& runRanges);
|
||||
extern void LocateStyle(DocumentParagraphRun* run, RunRangeMap& runRanges, vint position, bool frontSide, collections::List<DocumentContainerRun*>& locatedRuns);
|
||||
extern Ptr<DocumentHyperlinkRun::Package> LocateHyperlink(DocumentParagraphRun* run, RunRangeMap& runRanges, vint row, vint start, vint end);
|
||||
extern bool CompareStyleProperties(Ptr<DocumentStyleProperties> a, Ptr<DocumentStyleProperties> b);
|
||||
extern Ptr<DocumentStyleProperties> CopyStyle(Ptr<DocumentStyleProperties> style);
|
||||
extern Ptr<DocumentRun> CopyRun(DocumentRun* run);
|
||||
extern Ptr<DocumentRun> CopyStyledText(collections::List<DocumentContainerRun*>& styleRuns, const WString& text);
|
||||
@@ -25039,6 +25072,17 @@ FakeDialogServiceBase
|
||||
void ShowModalDialogAndDelete(Ptr<IDescriptable> viewModel, controls::GuiWindow* owner, controls::GuiWindow* dialog);
|
||||
|
||||
public:
|
||||
struct FilterDesc
|
||||
{
|
||||
WString name;
|
||||
WString filter;
|
||||
WString regexFilterCode;
|
||||
Ptr<regex::Regex> regexFilter;
|
||||
Nullable<WString> defaultExtensionOverride;
|
||||
};
|
||||
|
||||
static void ParseFileDialogFilter(const WString& filter, collections::List<FilterDesc>& descs);
|
||||
|
||||
FakeDialogServiceBase();
|
||||
~FakeDialogServiceBase();
|
||||
|
||||
|
||||
@@ -2976,6 +2976,7 @@ Type Declaration (Class)
|
||||
CLASS_MEMBER_PROPERTY_GUIEVENT_READONLY_FAST(Modified)
|
||||
|
||||
CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"})
|
||||
CLASS_MEMBER_METHOD(EnsureCaretVisible, NO_PARAMETER)
|
||||
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" _ L"skipFormatting"})
|
||||
|
||||
@@ -966,6 +966,28 @@ Localization
|
||||
{
|
||||
return locale.FormatCurrency(number);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
Versioning
|
||||
***********************************************************************/
|
||||
|
||||
Versioning::Versioning()
|
||||
{
|
||||
}
|
||||
|
||||
Versioning::~Versioning()
|
||||
{
|
||||
}
|
||||
|
||||
vint Versioning::AllocateVersion()
|
||||
{
|
||||
return ++version;
|
||||
}
|
||||
|
||||
vint Versioning::GetVersion()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1010,6 +1032,7 @@ TypeName
|
||||
IMPL_TYPE_INFO_RENAME(vl::reflection::description::AsyncCoroutine::IImpl, system::AsyncCoroutine::IImpl)
|
||||
IMPL_TYPE_INFO_RENAME(vl::reflection::description::AsyncCoroutine, system::AsyncCoroutine)
|
||||
IMPL_TYPE_INFO_RENAME(vl::reflection::description::StateMachine, system::StateMachine)
|
||||
IMPL_TYPE_INFO_RENAME(vl::reflection::description::Versioning, system::Versioning)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1214,6 +1237,12 @@ WfLoadLibraryTypes
|
||||
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(StateMachineStatus)
|
||||
END_CLASS_MEMBER(StateMachine)
|
||||
|
||||
BEGIN_CLASS_MEMBER(Versioning)
|
||||
CLASS_MEMBER_CONSTRUCTOR(Ptr<Versioning>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(AllocateVersion, NO_PARAMETER)
|
||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(Version)
|
||||
END_CLASS_MEMBER(Versioning)
|
||||
#undef _
|
||||
|
||||
class WfLibraryTypeLoader : public Object, public ITypeLoader
|
||||
|
||||
+391
-373
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
+179
@@ -0,0 +1,179 @@
|
||||
<Folder>
|
||||
<Instance name="EmbeddedControlsSubTabPageResource">
|
||||
<Instance ref.CodeBehind="false" ref.Class="demo::EmbeddedControlsSubTabPage">
|
||||
<TabPage ref.Name="self" Text="Embedded Controls">
|
||||
<MessageDialog ref.Name="dialogStart"
|
||||
Title="RemotingTest_Core.exe"
|
||||
Text="Pretend to be starting!"
|
||||
/>
|
||||
<DocumentViewer ref.Name="docViewer" EditMode="Selectable" Document-uri="res://SideDocuments/MainDocument" HorizontalAlwaysVisible="false" VerticalAlwaysVisible="false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:5 top:5 right:5 bottom:5"/>
|
||||
|
||||
<DocumentItem Name="CommandTable">
|
||||
<Table CellPadding="5" BorderVisible="false" MinSizeLimitation="LimitToElementAndChildren" PreferredMinSize="x:400">
|
||||
<att.Rows>
|
||||
<_>composeType:MinSize</_>
|
||||
<_>composeType:MinSize</_>
|
||||
<_>composeType:MinSize</_>
|
||||
<_>composeType:MinSize</_>
|
||||
<_>composeType:MinSize</_>
|
||||
</att.Rows>
|
||||
<att.Columns>
|
||||
<_>composeType:MinSize</_>
|
||||
<_>composeType:Percentage percentage:0.5</_>
|
||||
<_>composeType:Percentage percentage:0.5</_>
|
||||
</att.Columns>
|
||||
|
||||
<Cell Site="row:0 column:0">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/CellHArg" Behavior="wrapLine:false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:0 column:1">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/CellHDesc">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:0 column:2">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/CellHReq">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
|
||||
<Cell Site="row:1 column:0">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell0Arg" Behavior="wrapLine:false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:1 column:1">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell0Desc">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:1 column:2">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell0Req">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
|
||||
<Cell Site="row:2 column:0">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell1Arg" Behavior="wrapLine:false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:2 column:1">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell1Desc">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:2 column:2">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell1Req">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
|
||||
<Cell Site="row:3 column:0">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell2Arg" Behavior="wrapLine:false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:3 column:1">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell2Desc">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:3 column:2">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell2Req">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
|
||||
<Cell Site="row:4 column:0">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell3Arg" Behavior="wrapLine:false">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:4 column:1">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell3Desc">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
<Cell Site="row:4 column:2">
|
||||
<Bounds AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
|
||||
<SolidBorder Color="#000000"/>
|
||||
<DocumentLabel EditMode="ViewOnly" Document-uri="res://SideDocuments/Cell3Req">
|
||||
<att.BoundsComposition-set AlignmentToParent="left:1 top:1 right:1 bottom:1"/>
|
||||
</DocumentLabel>
|
||||
</Bounds>
|
||||
</Cell>
|
||||
</Table>
|
||||
</DocumentItem>
|
||||
|
||||
<DocumentItem Name="ComboBox">
|
||||
<ComboBox ref.Name="comboRun" SelectedIndex="0">
|
||||
<att.BoundsComposition-set PreferredMinSize="x:160"/>
|
||||
<att.ListControl>
|
||||
<TextList HorizontalAlwaysVisible="false" VerticalAlwaysVisible="false">
|
||||
<att.Items>
|
||||
<TextItem Text="FullControlTest"/>
|
||||
<TextItem Text="RemoteProtocolTest"/>
|
||||
</att.Items>
|
||||
</TextList>
|
||||
</att.ListControl>
|
||||
</ComboBox>
|
||||
</DocumentItem>
|
||||
|
||||
<DocumentItem Name="StartButton">
|
||||
<Button Text="RIGHT NOW">
|
||||
<ev.Clicked-eval><![CDATA[{
|
||||
dialogStart.ShowDialog();
|
||||
}]]></ev.Clicked-eval>
|
||||
</Button>
|
||||
</DocumentItem>
|
||||
</DocumentViewer>
|
||||
</TabPage>
|
||||
</Instance>
|
||||
</Instance>
|
||||
</Folder>
|
||||
@@ -147,6 +147,7 @@
|
||||
</demo:DocumentEditorToolstrip>
|
||||
</TabPage>
|
||||
<demo:TextBoxTabPage Alt="T"/>
|
||||
<demo:EmbeddedControlsSubTabPage Alt="E"/>
|
||||
</att.Pages>
|
||||
</Tab>
|
||||
</TabPage>
|
||||
@@ -232,6 +233,8 @@
|
||||
<Folder name="DocumentEditorBase" content="Link">DocumentEditorBase.xml</Folder>
|
||||
<Folder name="DocumentEditorRibbon" content="Link">DocumentEditorRibbon.xml</Folder>
|
||||
<Folder name="DocumentEditorToolstrip" content="Link">DocumentEditorToolstrip.xml</Folder>
|
||||
<Folder name="SideDocuments" content="Link">SideDocuments.xml</Folder>
|
||||
<Folder name="EmbeddedControlsSubTabPage" content="Link">EmbeddedControlsSubTabPage.xml</Folder>
|
||||
|
||||
<Instance name="ElementTabPageResource" content="File">ElementTabPage.xml</Instance>
|
||||
<Folder name="AnimationTabPage" content="Link">AnimationTabPage.xml</Folder>
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
<Folder>
|
||||
<Doc name="MainDocument">
|
||||
<Doc>
|
||||
<Content>
|
||||
<p>
|
||||
<div style="Title">
|
||||
<nop>RemotingTest_Core.exe</nop>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
<div style="Body">
|
||||
<nop>RemotingTest_Core.exe is a test application for the GacUI remote protocol. It hosts a GacUI application and serves its UI over HTTP, enabling browser-based rendering and interaction through the GacJS website.</nop>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
<div style="Body">
|
||||
<object name="CommandTable"/>
|
||||
</div>
|
||||
</p>
|
||||
<p>
|
||||
<div style="Body">
|
||||
<nop>Run </nop>
|
||||
<object name="ComboBox"/>
|
||||
<nop>? Start </nop>
|
||||
<object name="StartButton"/>
|
||||
<nop>!</nop>
|
||||
</div>
|
||||
</p>
|
||||
</Content>
|
||||
<Styles>
|
||||
<Style name="Content">
|
||||
<face>Segoe UI</face>
|
||||
</Style>
|
||||
<Style name="Title" parent="Content">
|
||||
<size>24</size>
|
||||
<b>true</b>
|
||||
<color>#0000FF</color>
|
||||
</Style>
|
||||
<Style name="Body" parent="Content">
|
||||
<size>14</size>
|
||||
</Style>
|
||||
</Styles>
|
||||
</Doc>
|
||||
</Doc>
|
||||
|
||||
<Doc name="CellHArg">
|
||||
<Doc><Content><p><b>Argument</b></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="CellHDesc">
|
||||
<Doc><Content><p><b>Description</b></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="CellHReq">
|
||||
<Doc><Content><p><b>Required</b></p></Content></Doc>
|
||||
</Doc>
|
||||
|
||||
<Doc name="Cell0Arg">
|
||||
<Doc><Content><p><nop>/Http</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell0Desc">
|
||||
<Doc><Content><p><nop>Use HTTP transport (port 8888)</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell0Req">
|
||||
<Doc><Content><p><b>Yes</b><nop> — /Http is required for GacJS testing</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
|
||||
<Doc name="Cell1Arg">
|
||||
<Doc><Content><p><nop>/Pipe</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell1Desc">
|
||||
<Doc><Content><p><nop>Use named-pipe transport</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell1Req">
|
||||
<Doc><Content><p><nop>Not used by GacJS</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
|
||||
<Doc name="Cell2Arg">
|
||||
<Doc><Content><p><nop>/FCT</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell2Desc">
|
||||
<Doc><Content><p><nop>Run FullControlTest (index 0)</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell2Req">
|
||||
<Doc><Content><p><nop>Optional (default if neither is specified)</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
|
||||
<Doc name="Cell3Arg">
|
||||
<Doc><Content><p><nop>/RPT</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell3Desc">
|
||||
<Doc><Content><p><nop>Run RemoteProtocolTest (index 1)</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
<Doc name="Cell3Req">
|
||||
<Doc><Content><p><nop>Optional</nop></p></Content></Doc>
|
||||
</Doc>
|
||||
</Folder>
|
||||
+1608
-739
File diff suppressed because it is too large
Load Diff
+489
-363
File diff suppressed because it is too large
Load Diff
+106
@@ -61,6 +61,8 @@ namespace vl
|
||||
IMPL_CPP_TYPE_INFO(demo::DocumentEditorToolstripConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::ElementTabPage)
|
||||
IMPL_CPP_TYPE_INFO(demo::ElementTabPageConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::EmbeddedControlsSubTabPage)
|
||||
IMPL_CPP_TYPE_INFO(demo::EmbeddedControlsSubTabPageConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::EnglishNumbersController)
|
||||
IMPL_CPP_TYPE_INFO(demo::EnglishNumbersControllerConstructor)
|
||||
IMPL_CPP_TYPE_INFO(demo::EnglishNumbersControllerTabPage)
|
||||
@@ -864,6 +866,107 @@ namespace vl
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
END_CLASS_MEMBER(::demo::ElementTabPageConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::EmbeddedControlsSubTabPage)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::controls::GuiTabPage)
|
||||
CLASS_MEMBER_BASE(::demo::EmbeddedControlsSubTabPageConstructor)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::demo::EmbeddedControlsSubTabPage*(), NO_PARAMETER)
|
||||
END_CLASS_MEMBER(::demo::EmbeddedControlsSubTabPage)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::EmbeddedControlsSubTabPageConstructor)
|
||||
CLASS_MEMBER_BASE(::vl::reflection::DescriptableObject)
|
||||
CLASS_MEMBER_CONSTRUCTOR(::vl::Ptr<::demo::EmbeddedControlsSubTabPageConstructor>(), NO_PARAMETER)
|
||||
CLASS_MEMBER_METHOD(__vwsn_demo_EmbeddedControlsSubTabPage_Initialize, { L"__vwsn_this_" })
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_0)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_1)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_10)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_11)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_12)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_13)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_14)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_15)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_16)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_17)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_18)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_19)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_2)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_20)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_21)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_22)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_23)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_24)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_25)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_26)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_27)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_28)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_29)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_3)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_30)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_31)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_32)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_33)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_34)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_35)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_36)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_37)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_38)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_39)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_4)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_40)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_41)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_42)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_43)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_44)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_45)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_46)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_47)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_48)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_49)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_5)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_50)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_51)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_52)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_53)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_54)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_55)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_56)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_57)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_58)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_59)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_6)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_60)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_61)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_62)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_63)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_64)
|
||||
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_76)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_77)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_78)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_79)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_80)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_81)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_82)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_83)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_84)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
|
||||
CLASS_MEMBER_FIELD(comboRun)
|
||||
CLASS_MEMBER_FIELD(dialogStart)
|
||||
CLASS_MEMBER_FIELD(docViewer)
|
||||
CLASS_MEMBER_FIELD(self)
|
||||
END_CLASS_MEMBER(::demo::EmbeddedControlsSubTabPageConstructor)
|
||||
|
||||
BEGIN_CLASS_MEMBER(::demo::EnglishNumbersController)
|
||||
CLASS_MEMBER_BASE(::vl::presentation::controls::GuiCustomControl)
|
||||
CLASS_MEMBER_BASE(::demo::EnglishNumbersControllerConstructor)
|
||||
@@ -1436,6 +1539,7 @@ 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_7)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_8)
|
||||
CLASS_MEMBER_FIELD(__vwsn_precompile_9)
|
||||
@@ -2446,6 +2550,8 @@ namespace vl
|
||||
ADD_TYPE_INFO(::demo::DocumentEditorToolstripConstructor)
|
||||
ADD_TYPE_INFO(::demo::ElementTabPage)
|
||||
ADD_TYPE_INFO(::demo::ElementTabPageConstructor)
|
||||
ADD_TYPE_INFO(::demo::EmbeddedControlsSubTabPage)
|
||||
ADD_TYPE_INFO(::demo::EmbeddedControlsSubTabPageConstructor)
|
||||
ADD_TYPE_INFO(::demo::EnglishNumbersController)
|
||||
ADD_TYPE_INFO(::demo::EnglishNumbersControllerConstructor)
|
||||
ADD_TYPE_INFO(::demo::EnglishNumbersControllerTabPage)
|
||||
|
||||
@@ -64,6 +64,8 @@ namespace vl
|
||||
DECL_TYPE_INFO(::demo::DocumentEditorToolstripConstructor)
|
||||
DECL_TYPE_INFO(::demo::ElementTabPage)
|
||||
DECL_TYPE_INFO(::demo::ElementTabPageConstructor)
|
||||
DECL_TYPE_INFO(::demo::EmbeddedControlsSubTabPage)
|
||||
DECL_TYPE_INFO(::demo::EmbeddedControlsSubTabPageConstructor)
|
||||
DECL_TYPE_INFO(::demo::EnglishNumbersController)
|
||||
DECL_TYPE_INFO(::demo::EnglishNumbersControllerConstructor)
|
||||
DECL_TYPE_INFO(::demo::EnglishNumbersControllerTabPage)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user