mirror of
https://github.com/vczh-libraries/Release.git
synced 2026-05-26 09:45:32 +08:00
AddressBook Folder
This commit is contained in:
+13
-2
@@ -12860,21 +12860,32 @@ NodeItemProvider
|
|||||||
|
|
||||||
void NodeItemProvider::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)
|
void NodeItemProvider::OnBeforeItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)
|
||||||
{
|
{
|
||||||
offsetBeforeChildModified=0;
|
vint offset = 0;
|
||||||
vint base=CalculateNodeVisibilityIndexInternal(parentNode);
|
vint base=CalculateNodeVisibilityIndexInternal(parentNode);
|
||||||
if(base!=-2 && parentNode->GetExpanding())
|
if(base!=-2 && parentNode->GetExpanding())
|
||||||
{
|
{
|
||||||
for(vint i=0;i<count;i++)
|
for(vint i=0;i<count;i++)
|
||||||
{
|
{
|
||||||
INodeProvider* child=parentNode->GetChild(start+i);
|
INodeProvider* child=parentNode->GetChild(start+i);
|
||||||
offsetBeforeChildModified+=child->CalculateTotalVisibleNodes();
|
offset+=child->CalculateTotalVisibleNodes();
|
||||||
child->Release();
|
child->Release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
offsetBeforeChildModifieds.Set(parentNode, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NodeItemProvider::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)
|
void NodeItemProvider::OnAfterItemModified(INodeProvider* parentNode, vint start, vint count, vint newCount)
|
||||||
{
|
{
|
||||||
|
vint offsetBeforeChildModified = 0;
|
||||||
|
{
|
||||||
|
vint index = offsetBeforeChildModifieds.Keys().IndexOf(parentNode);
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
offsetBeforeChildModified = offsetBeforeChildModifieds.Values().Get(index);
|
||||||
|
offsetBeforeChildModifieds.Remove(parentNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vint base=CalculateNodeVisibilityIndexInternal(parentNode);
|
vint base=CalculateNodeVisibilityIndexInternal(parentNode);
|
||||||
if(base!=-2 && parentNode->GetExpanding())
|
if(base!=-2 && parentNode->GetExpanding())
|
||||||
{
|
{
|
||||||
|
|||||||
+3
-1
@@ -12716,10 +12716,12 @@ GuiVirtualTreeListControl NodeProvider
|
|||||||
, protected virtual INodeItemView
|
, protected virtual INodeItemView
|
||||||
, public Description<NodeItemProvider>
|
, public Description<NodeItemProvider>
|
||||||
{
|
{
|
||||||
|
typedef collections::Dictionary<INodeProvider*, vint> NodeIntMap;
|
||||||
protected:
|
protected:
|
||||||
Ptr<INodeRootProvider> root;
|
Ptr<INodeRootProvider> root;
|
||||||
INodeItemPrimaryTextView* nodeItemPrimaryTextView;
|
INodeItemPrimaryTextView* nodeItemPrimaryTextView;
|
||||||
vint offsetBeforeChildModified;
|
NodeIntMap offsetBeforeChildModifieds;
|
||||||
|
|
||||||
|
|
||||||
INodeProvider* GetNodeByOffset(INodeProvider* provider, vint offset);
|
INodeProvider* GetNodeByOffset(INodeProvider* provider, vint offset);
|
||||||
void OnAttached(INodeRootProvider* provider)override;
|
void OnAttached(INodeRootProvider* provider)override;
|
||||||
|
|||||||
@@ -1867,6 +1867,8 @@ Type Declaration
|
|||||||
CLASS_MEMBER_PROPERTY_FAST(TitleBar)
|
CLASS_MEMBER_PROPERTY_FAST(TitleBar)
|
||||||
|
|
||||||
CLASS_MEMBER_METHOD(MoveToScreenCenter, NO_PARAMETER)
|
CLASS_MEMBER_METHOD(MoveToScreenCenter, NO_PARAMETER)
|
||||||
|
CLASS_MEMBER_METHOD(ShowModal, { L"owner" _ L"callback" })
|
||||||
|
CLASS_MEMBER_METHOD(ShowModalAndDelete, { L"owner" _ L"callback" })
|
||||||
END_CLASS_MEMBER(GuiWindow)
|
END_CLASS_MEMBER(GuiWindow)
|
||||||
|
|
||||||
BEGIN_INTERFACE_MEMBER(GuiWindow::IStyleController)
|
BEGIN_INTERFACE_MEMBER(GuiWindow::IStyleController)
|
||||||
|
|||||||
Binary file not shown.
@@ -14,8 +14,11 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
|||||||
Ptr<GuiImageData> folderImage;
|
Ptr<GuiImageData> folderImage;
|
||||||
Ptr<GuiImageData> contactImage;
|
Ptr<GuiImageData> contactImage;
|
||||||
|
|
||||||
|
class ViewModel;
|
||||||
|
|
||||||
class Category : public Object, public ICategory
|
class Category : public Object, public ICategory
|
||||||
{
|
{
|
||||||
|
friend class ViewModel;
|
||||||
protected:
|
protected:
|
||||||
ICategory* parent;
|
ICategory* parent;
|
||||||
WString name;
|
WString name;
|
||||||
@@ -59,11 +62,7 @@ public:
|
|||||||
StaticCategory()
|
StaticCategory()
|
||||||
:Category(nullptr)
|
:Category(nullptr)
|
||||||
{
|
{
|
||||||
}
|
name = L"My Address Book";
|
||||||
|
|
||||||
WString GetName()override
|
|
||||||
{
|
|
||||||
return L"My Address Book";
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -137,10 +136,21 @@ public:
|
|||||||
|
|
||||||
void AddCategory(WString name)
|
void AddCategory(WString name)
|
||||||
{
|
{
|
||||||
|
if (auto current = dynamic_cast<Category*>(selectedCategory.Obj()))
|
||||||
|
{
|
||||||
|
auto category = new Category(current);
|
||||||
|
category->name = name;
|
||||||
|
current->folders.Add(category);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RemoveCategory()
|
void RemoveCategory()
|
||||||
{
|
{
|
||||||
|
if (auto parent = dynamic_cast<Category*>(selectedCategory->GetParent()))
|
||||||
|
{
|
||||||
|
parent->folders.Remove(selectedCategory.Obj());
|
||||||
|
SetSelectedCategory(nullptr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
<Instance name="MainWindowResource">
|
<Instance name="MainWindowResource">
|
||||||
<Instance ref.Class="demo::MainWindow">
|
<Instance ref.Class="demo::MainWindow">
|
||||||
<ref.Parameter Name="ViewModel" Class="demo::IViewModel"/>
|
<ref.Parameter Name="ViewModel" Class="demo::IViewModel"/>
|
||||||
<Window Text="AddressBook" ClientSize="x:480 y:320">
|
<Window ref.Name="self" Text="AddressBook" ClientSize="x:480 y:320">
|
||||||
<att.BoundsComposition-set PreferredMinSize="x:480 y:320"/>
|
<att.BoundsComposition-set PreferredMinSize="x:480 y:320"/>
|
||||||
|
|
||||||
<att.ViewModel-set>
|
<att.ViewModel-set>
|
||||||
@@ -85,7 +85,21 @@
|
|||||||
|
|
||||||
<ToolstripCommand ref.Name="commandNewFolder" Image-uri="res://Images/NewFolder">
|
<ToolstripCommand ref.Name="commandNewFolder" Image-uri="res://Images/NewFolder">
|
||||||
<att.Enabled-bind>ViewModel.SelectedCategory is not null</att.Enabled-bind>
|
<att.Enabled-bind>ViewModel.SelectedCategory is not null</att.Enabled-bind>
|
||||||
<ev.Executed-eval>{}</ev.Executed-eval>
|
<ev.Executed-eval>
|
||||||
|
<![CDATA[
|
||||||
|
{
|
||||||
|
var window = new demo::NewFolderWindow*();
|
||||||
|
window.MoveToScreenCenter();
|
||||||
|
window.ShowModalAndDelete(self, func():void
|
||||||
|
{
|
||||||
|
if (window.Ready)
|
||||||
|
{
|
||||||
|
ViewModel.AddCategory(window.FolderName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</ev.Executed-eval>
|
||||||
</ToolstripCommand>
|
</ToolstripCommand>
|
||||||
<ToolstripCommand ref.Name="commandDeleteFolder" Image-uri="res://Images/Delete">
|
<ToolstripCommand ref.Name="commandDeleteFolder" Image-uri="res://Images/Delete">
|
||||||
<att.Enabled-bind>ViewModel.SelectedCategory is null ? false : ViewModel.SelectedCategory.Parent is not null</att.Enabled-bind>
|
<att.Enabled-bind>ViewModel.SelectedCategory is null ? false : ViewModel.SelectedCategory.Parent is not null</att.Enabled-bind>
|
||||||
@@ -204,5 +218,52 @@
|
|||||||
</Window>
|
</Window>
|
||||||
</Instance>
|
</Instance>
|
||||||
</Instance>
|
</Instance>
|
||||||
|
|
||||||
|
<Instance name="NewFolderWindowResource">
|
||||||
|
<Instance ref.CodeBehind="false" ref.Class="demo::NewFolderWindow">
|
||||||
|
<ref.Property Name="FolderName" Type="string" Value=""/>
|
||||||
|
<ref.Property Name="Ready" Type="bool" Value="true"/>
|
||||||
|
<Window ref.Name="self" Text="New Folder" ClientSize="x:240 y:120" MaximizedBox="false" MinimizedBox="false" SizeBox="false">
|
||||||
|
<att.FolderName-bind>textBoxName.Text</att.FolderName-bind>
|
||||||
|
|
||||||
|
<Table CellPadding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0">
|
||||||
|
<att.Rows>
|
||||||
|
<CellOption>composeType:MinSize</CellOption>
|
||||||
|
<CellOption>composeType:Percentage percentage:1.0</CellOption>
|
||||||
|
<CellOption>composeType:MinSize</CellOption>
|
||||||
|
</att.Rows>
|
||||||
|
<att.Columns>
|
||||||
|
<CellOption>composeType:MinSize</CellOption>
|
||||||
|
<CellOption>composeType:Percentage percentage:1.0</CellOption>
|
||||||
|
<CellOption>composeType:MinSize</CellOption>
|
||||||
|
<CellOption>composeType:MinSize</CellOption>
|
||||||
|
</att.Columns>
|
||||||
|
|
||||||
|
<Cell Site="row:0 column:0" InternalMargin="top:6">
|
||||||
|
<Label Text="Name:"/>
|
||||||
|
</Cell>
|
||||||
|
|
||||||
|
<Cell Site="row:0 column:1 columnSpan:3">
|
||||||
|
<DocumentTextBox ref.Name="textBoxName" EditMode="Editable" Text="New Folder">
|
||||||
|
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
|
||||||
|
</DocumentTextBox>
|
||||||
|
</Cell>
|
||||||
|
|
||||||
|
<Cell Site="row:2 column:2">
|
||||||
|
<Button Text="OK">
|
||||||
|
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:60"/>
|
||||||
|
<ev.Clicked-eval>{ self.Close(); }</ev.Clicked-eval>
|
||||||
|
</Button>
|
||||||
|
</Cell>
|
||||||
|
<Cell Site="row:2 column:3">
|
||||||
|
<Button Text="Cancel">
|
||||||
|
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0" PreferredMinSize="x:60"/>
|
||||||
|
<ev.Clicked-eval>{ self.Ready = false; self.Close(); }</ev.Clicked-eval>
|
||||||
|
</Button>
|
||||||
|
</Cell>
|
||||||
|
</Table>
|
||||||
|
</Window>
|
||||||
|
</Instance>
|
||||||
|
</Instance>
|
||||||
</Folder>
|
</Folder>
|
||||||
</Resource>
|
</Resource>
|
||||||
@@ -10,6 +10,34 @@ DO NOT MODIFY
|
|||||||
|
|
||||||
#include "Demo.h"
|
#include "Demo.h"
|
||||||
|
|
||||||
|
namespace demo
|
||||||
|
{
|
||||||
|
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
|
||||||
|
|
||||||
|
void NewFolderWindow::OnCreate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void NewFolderWindow::OnDestroy()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
|
||||||
|
|
||||||
|
NewFolderWindow::NewFolderWindow()
|
||||||
|
{
|
||||||
|
InitializeComponents();
|
||||||
|
OnCreate();
|
||||||
|
}
|
||||||
|
|
||||||
|
NewFolderWindow::~NewFolderWindow()
|
||||||
|
{
|
||||||
|
OnDestroy();
|
||||||
|
ClearSubscriptions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
namespace vl
|
namespace vl
|
||||||
{
|
{
|
||||||
namespace reflection
|
namespace reflection
|
||||||
@@ -20,6 +48,7 @@ namespace vl
|
|||||||
IMPL_CPP_TYPE_INFO(demo::ICategory)
|
IMPL_CPP_TYPE_INFO(demo::ICategory)
|
||||||
IMPL_CPP_TYPE_INFO(demo::IViewModel)
|
IMPL_CPP_TYPE_INFO(demo::IViewModel)
|
||||||
IMPL_CPP_TYPE_INFO(demo::MainWindow)
|
IMPL_CPP_TYPE_INFO(demo::MainWindow)
|
||||||
|
IMPL_CPP_TYPE_INFO(demo::NewFolderWindow)
|
||||||
|
|
||||||
BEGIN_CLASS_MEMBER(demo::ICategory)
|
BEGIN_CLASS_MEMBER(demo::ICategory)
|
||||||
CLASS_MEMBER_BASE(vl::reflection::IDescriptable)
|
CLASS_MEMBER_BASE(vl::reflection::IDescriptable)
|
||||||
@@ -62,6 +91,16 @@ namespace vl
|
|||||||
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModel)
|
CLASS_MEMBER_PROPERTY_READONLY_FAST(ViewModel)
|
||||||
END_CLASS_MEMBER(demo::MainWindow)
|
END_CLASS_MEMBER(demo::MainWindow)
|
||||||
|
|
||||||
|
BEGIN_CLASS_MEMBER(demo::NewFolderWindow)
|
||||||
|
CLASS_MEMBER_BASE(vl::presentation::controls::GuiWindow)
|
||||||
|
CLASS_MEMBER_CONSTRUCTOR(demo::NewFolderWindow*(), NO_PARAMETER)
|
||||||
|
|
||||||
|
CLASS_MEMBER_EVENT(FolderNameChanged)
|
||||||
|
CLASS_MEMBER_PROPERTY_EVENT_FAST(FolderName, FolderNameChanged)
|
||||||
|
CLASS_MEMBER_EVENT(ReadyChanged)
|
||||||
|
CLASS_MEMBER_PROPERTY_EVENT_FAST(Ready, ReadyChanged)
|
||||||
|
END_CLASS_MEMBER(demo::NewFolderWindow)
|
||||||
|
|
||||||
#undef _
|
#undef _
|
||||||
|
|
||||||
class DemoResourceLoader : public Object, public ITypeLoader
|
class DemoResourceLoader : public Object, public ITypeLoader
|
||||||
@@ -72,6 +111,7 @@ namespace vl
|
|||||||
ADD_TYPE_INFO(demo::ICategory)
|
ADD_TYPE_INFO(demo::ICategory)
|
||||||
ADD_TYPE_INFO(demo::IViewModel)
|
ADD_TYPE_INFO(demo::IViewModel)
|
||||||
ADD_TYPE_INFO(demo::MainWindow)
|
ADD_TYPE_INFO(demo::MainWindow)
|
||||||
|
ADD_TYPE_INFO(demo::NewFolderWindow)
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unload(ITypeManager* manager)
|
void Unload(ITypeManager* manager)
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ namespace demo
|
|||||||
class ICategory;
|
class ICategory;
|
||||||
class IViewModel;
|
class IViewModel;
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
|
class NewFolderWindow;
|
||||||
|
|
||||||
class ICategory : public virtual vl::reflection::IDescriptable, public vl::reflection::Description<ICategory>
|
class ICategory : public virtual vl::reflection::IDescriptable, public vl::reflection::Description<ICategory>
|
||||||
{
|
{
|
||||||
@@ -58,6 +59,7 @@ namespace demo
|
|||||||
vl::presentation::controls::GuiToolstripCommand* commandSmallIcon;
|
vl::presentation::controls::GuiToolstripCommand* commandSmallIcon;
|
||||||
vl::presentation::controls::GuiToolstripCommand* commandTile;
|
vl::presentation::controls::GuiToolstripCommand* commandTile;
|
||||||
vl::presentation::controls::GuiBindableListView* listViewContacts;
|
vl::presentation::controls::GuiBindableListView* listViewContacts;
|
||||||
|
vl::presentation::controls::GuiWindow* self;
|
||||||
vl::presentation::controls::GuiBindableTreeView* treeViewFolders;
|
vl::presentation::controls::GuiBindableTreeView* treeViewFolders;
|
||||||
|
|
||||||
void InitializeComponents(Ptr<demo::IViewModel> ViewModel)
|
void InitializeComponents(Ptr<demo::IViewModel> ViewModel)
|
||||||
@@ -76,6 +78,7 @@ namespace demo
|
|||||||
GUI_INSTANCE_REFERENCE(commandSmallIcon);
|
GUI_INSTANCE_REFERENCE(commandSmallIcon);
|
||||||
GUI_INSTANCE_REFERENCE(commandTile);
|
GUI_INSTANCE_REFERENCE(commandTile);
|
||||||
GUI_INSTANCE_REFERENCE(listViewContacts);
|
GUI_INSTANCE_REFERENCE(listViewContacts);
|
||||||
|
GUI_INSTANCE_REFERENCE(self);
|
||||||
GUI_INSTANCE_REFERENCE(treeViewFolders);
|
GUI_INSTANCE_REFERENCE(treeViewFolders);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -98,6 +101,7 @@ namespace demo
|
|||||||
,commandSmallIcon(0)
|
,commandSmallIcon(0)
|
||||||
,commandTile(0)
|
,commandTile(0)
|
||||||
,listViewContacts(0)
|
,listViewContacts(0)
|
||||||
|
,self(0)
|
||||||
,treeViewFolders(0)
|
,treeViewFolders(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -108,6 +112,66 @@ namespace demo
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TImpl>
|
||||||
|
class NewFolderWindow_ : public vl::presentation::controls::GuiWindow, public vl::presentation::GuiInstancePartialClass<vl::presentation::controls::GuiWindow>, public vl::reflection::Description<TImpl>
|
||||||
|
{
|
||||||
|
friend struct vl::reflection::description::CustomTypeDescriptorSelector<TImpl>;
|
||||||
|
private:
|
||||||
|
vl::WString FolderName_;
|
||||||
|
bool Ready_;
|
||||||
|
protected:
|
||||||
|
vl::presentation::controls::GuiWindow* self;
|
||||||
|
vl::presentation::controls::GuiDocumentLabel* textBoxName;
|
||||||
|
|
||||||
|
void InitializeComponents()
|
||||||
|
{
|
||||||
|
if (InitializeFromResource())
|
||||||
|
{
|
||||||
|
GUI_INSTANCE_REFERENCE(self);
|
||||||
|
GUI_INSTANCE_REFERENCE(textBoxName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public:
|
||||||
|
NewFolderWindow_()
|
||||||
|
:vl::presentation::GuiInstancePartialClass<vl::presentation::controls::GuiWindow>(L"demo::NewFolderWindow")
|
||||||
|
,vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle())
|
||||||
|
,self(0)
|
||||||
|
,textBoxName(0)
|
||||||
|
{
|
||||||
|
this->FolderName_ = vl::reflection::description::UnboxValue<vl::WString>(vl::reflection::description::Value::From(L"", reflection::description::GetTypeDescriptor<vl::WString>()));
|
||||||
|
this->Ready_ = vl::reflection::description::UnboxValue<bool>(vl::reflection::description::Value::From(L"true", reflection::description::GetTypeDescriptor<bool>()));
|
||||||
|
}
|
||||||
|
|
||||||
|
vl::Event<void()> FolderNameChanged;
|
||||||
|
|
||||||
|
vl::WString GetFolderName()
|
||||||
|
{
|
||||||
|
return FolderName_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetFolderName(vl::WString value)
|
||||||
|
{
|
||||||
|
FolderName_ = value;
|
||||||
|
FolderNameChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
vl::Event<void()> ReadyChanged;
|
||||||
|
|
||||||
|
bool GetReady()
|
||||||
|
{
|
||||||
|
return Ready_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetReady(bool value)
|
||||||
|
{
|
||||||
|
Ready_ = value;
|
||||||
|
ReadyChanged();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
namespace vl
|
namespace vl
|
||||||
{
|
{
|
||||||
@@ -118,9 +182,29 @@ namespace vl
|
|||||||
DECL_TYPE_INFO(demo::ICategory)
|
DECL_TYPE_INFO(demo::ICategory)
|
||||||
DECL_TYPE_INFO(demo::IViewModel)
|
DECL_TYPE_INFO(demo::IViewModel)
|
||||||
DECL_TYPE_INFO(demo::MainWindow)
|
DECL_TYPE_INFO(demo::MainWindow)
|
||||||
|
DECL_TYPE_INFO(demo::NewFolderWindow)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
namespace demo
|
||||||
|
{
|
||||||
|
class NewFolderWindow : public demo::NewFolderWindow_<demo::NewFolderWindow>
|
||||||
|
{
|
||||||
|
friend class demo::NewFolderWindow_<demo::NewFolderWindow>;
|
||||||
|
friend struct vl::reflection::description::CustomTypeDescriptorSelector<demo::NewFolderWindow>;
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
|
||||||
|
void OnCreate();
|
||||||
|
void OnDestroy();
|
||||||
|
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
|
||||||
|
public:
|
||||||
|
NewFolderWindow();
|
||||||
|
~NewFolderWindow();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user