AddressBook UI

This commit is contained in:
vczh
2016-07-28 23:56:57 -07:00
parent 8581df1d12
commit f9b65e971f
20 changed files with 304 additions and 48 deletions
@@ -87,6 +87,7 @@
<ItemGroup>
<ClCompile Include="Main.cpp" />
<ClCompile Include="UI\Source\DemoPartialClasses.cpp" />
<ClCompile Include="UI\Source\MainWindow.cpp" />
</ItemGroup>
<ItemGroup>
<Xml Include="UI\Resource.xml" />
@@ -94,6 +95,7 @@
<ItemGroup>
<ClInclude Include="UI\Source\Demo.h" />
<ClInclude Include="UI\Source\DemoPartialClasses.h" />
<ClInclude Include="UI\Source\MainWindow.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
@@ -24,6 +24,9 @@
<ClCompile Include="UI\Source\DemoPartialClasses.cpp">
<Filter>UI</Filter>
</ClCompile>
<ClCompile Include="UI\Source\MainWindow.cpp">
<Filter>UI</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Xml Include="UI\Resource.xml">
@@ -37,5 +40,8 @@
<ClInclude Include="UI\Source\Demo.h">
<Filter>UI</Filter>
</ClInclude>
<ClInclude Include="UI\Source\MainWindow.h">
<Filter>UI</Filter>
</ClInclude>
</ItemGroup>
</Project>
Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

@@ -12,12 +12,141 @@
<Text name="PrecompiledBinary">AddressBook.bin</Text>
</Folder>
</Folder>
<Folder name="Images">
<Image content="File" name="NewContact">NewContact.png</Image>
<Image content="File" name="NewFolder">NewFolder.png</Image>
<Image content="File" name="Delete">Delete.png</Image>
<Image content="File" name="Folder">Folder.png</Image>
<Image content="File" name="Contact">Contact.png</Image>
<Image content="File" name="BigIcon">ListView_Big.png</Image>
<Image content="File" name="SmallIcon">ListView_Small.png</Image>
<Image content="File" name="List">ListView_List.png</Image>
<Image content="File" name="Detail">ListView_Detail.png</Image>
<Image content="File" name="Tile">ListView_Tile.png</Image>
<Image content="File" name="Information">ListView_Info.png</Image>
</Folder>
<Folder name="MainWindow">
<Instance name="MainWindowResource">
<Instance ref.CodeBehind="false" ref.Class="demo::MainWindow">
<Instance ref.Class="demo::MainWindow">
<Window Text="AddressBook" ClientSize="x:480 y:320">
<att.BoundsComposition-set PreferredMinSize="x:480 y:320"/>
<ToolstripCommand ref.Name="commandNewFolder" Image-uri="res://Images/NewFolder">
<ev.Executed>commandNewFolder_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandDeleteFolder" Image-uri="res://Images/Delete">
<ev.Executed>commandDeleteFolder_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandNewContact" Image-uri="res://Images/NewContact">
<ev.Executed>commandNewContact_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandDeleteContact" Image-uri="res://Images/Delete">
<ev.Executed>commandDeleteContact_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandBigIcon" Image-uri="res://Images/BigIcon">
<ev.Executed>commandBigIcon_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandSmallIcon" Image-uri="res://Images/SmallIcon">
<ev.Executed>commandSmallIcon_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandList" Image-uri="res://Images/List">
<ev.Executed>commandList_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandDetail" Image-uri="res://Images/Detail">
<ev.Executed>commandDetail_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandTile" Image-uri="res://Images/Tile">
<ev.Executed>commandTile_Executed</ev.Executed>
</ToolstripCommand>
<ToolstripCommand ref.Name="commandInformation" Image-uri="res://Images/Information">
<ev.Executed>commandInformation_Executed</ev.Executed>
</ToolstripCommand>
<Table CellPadding="5" AlignmentToParent="left:0 top:0 right:0 bottom:0" MinSizeLimitation="LimitToElementAndChildren">
<att.Rows>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Rows>
<att.Columns>
<CellOption>composeType:Absolute absolute:160</CellOption>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Columns>
<ColumnSplitter ColumnsToTheLeft="1"/>
<Cell Site="row:0 column:0">
<GroupBox Text="Categories">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.ContainerComposition-set InternalMargin="left:3 top:3 right:3 bottom:3"/>
<Table CellPadding="5" BorderVisible="false" AlignmentToParent="left:0 top:0 right:0 bottom:0">
<att.Rows>
<CellOption>composeType:MinSize</CellOption>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Rows>
<att.Columns>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Columns>
<Cell Site="row:0 column:0">
<ToolstripToolBar>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ToolstripButton Command-ref="commandNewFolder"/>
<ToolstripButton Command-ref="commandDeleteFolder"/>
</ToolstripToolBar>
</Cell>
<Cell Site="row:1 column:0">
<TreeView ref.Name="treeViewFolders" HorizontalAlwaysVisible="false" VerticalAlwaysVisible="false">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
</TreeView>
</Cell>
</Table>
</GroupBox>
</Cell>
<Cell Site="row:0 column:1">
<GroupBox Text="Contacts">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<att.ContainerComposition-set InternalMargin="left:3 top:3 right:3 bottom:3"/>
<Table CellPadding="5" BorderVisible="false" AlignmentToParent="left:0 top:0 right:0 bottom:0">
<att.Rows>
<CellOption>composeType:MinSize</CellOption>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Rows>
<att.Columns>
<CellOption>composeType:Percentage percentage:1.0</CellOption>
</att.Columns>
<Cell Site="row:0 column:0">
<ToolstripToolBar>
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
<ToolstripButton Command-ref="commandNewContact"/>
<ToolstripButton Command-ref="commandDeleteContact"/>
<ToolstripSplitter/>
<ToolstripButton Command-ref="commandBigIcon"/>
<ToolstripButton Command-ref="commandSmallIcon"/>
<ToolstripButton Command-ref="commandList"/>
<ToolstripButton Command-ref="commandDetail"/>
<ToolstripButton Command-ref="commandTile"/>
<ToolstripButton Command-ref="commandInformation"/>
</ToolstripToolBar>
</Cell>
<Cell Site="row:1 column:0">
<ListView ref.Name="listViewContacts" HorizontalAlwaysVisible="false" VerticalAlwaysVisible="false">
<att.BoundsComposition-set AlignmentToParent="left:0 top:0 right:0 bottom:0"/>
</ListView>
</Cell>
</Table>
</GroupBox>
</Cell>
</Table>
</Window>
</Instance>
</Instance>
@@ -12,5 +12,6 @@ DO NOT MODIFY
#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo
#include "DemoPartialClasses.h"
#include "MainWindow.h"
#endif
@@ -10,34 +10,6 @@ DO NOT MODIFY
#include "Demo.h"
namespace demo
{
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
void MainWindow::OnCreate()
{
}
void MainWindow::OnDestroy()
{
}
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
MainWindow::MainWindow()
{
InitializeComponents();
OnCreate();
}
MainWindow::~MainWindow()
{
OnDestroy();
ClearSubscriptions();
}
}
namespace vl
{
namespace reflection
@@ -50,6 +22,17 @@ namespace vl
BEGIN_CLASS_MEMBER(demo::MainWindow)
CLASS_MEMBER_BASE(vl::presentation::controls::GuiWindow)
CLASS_MEMBER_CONSTRUCTOR(demo::MainWindow*(), NO_PARAMETER)
CLASS_MEMBER_GUIEVENT_HANDLER(commandBigIcon_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandDeleteContact_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandDeleteFolder_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandDetail_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandInformation_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandList_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandNewContact_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandNewFolder_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandSmallIcon_Executed, vl::presentation::compositions::GuiEventArgs)
CLASS_MEMBER_GUIEVENT_HANDLER(commandTile_Executed, vl::presentation::compositions::GuiEventArgs)
END_CLASS_MEMBER(demo::MainWindow)
#undef _
@@ -23,11 +23,35 @@ namespace demo
friend struct vl::reflection::description::CustomTypeDescriptorSelector<TImpl>;
private:
protected:
vl::presentation::controls::GuiToolstripCommand* commandBigIcon;
vl::presentation::controls::GuiToolstripCommand* commandDeleteContact;
vl::presentation::controls::GuiToolstripCommand* commandDeleteFolder;
vl::presentation::controls::GuiToolstripCommand* commandDetail;
vl::presentation::controls::GuiToolstripCommand* commandInformation;
vl::presentation::controls::GuiToolstripCommand* commandList;
vl::presentation::controls::GuiToolstripCommand* commandNewContact;
vl::presentation::controls::GuiToolstripCommand* commandNewFolder;
vl::presentation::controls::GuiToolstripCommand* commandSmallIcon;
vl::presentation::controls::GuiToolstripCommand* commandTile;
vl::presentation::controls::GuiListView* listViewContacts;
vl::presentation::controls::GuiTreeView* treeViewFolders;
void InitializeComponents()
{
if (InitializeFromResource())
{
GUI_INSTANCE_REFERENCE(commandBigIcon);
GUI_INSTANCE_REFERENCE(commandDeleteContact);
GUI_INSTANCE_REFERENCE(commandDeleteFolder);
GUI_INSTANCE_REFERENCE(commandDetail);
GUI_INSTANCE_REFERENCE(commandInformation);
GUI_INSTANCE_REFERENCE(commandList);
GUI_INSTANCE_REFERENCE(commandNewContact);
GUI_INSTANCE_REFERENCE(commandNewFolder);
GUI_INSTANCE_REFERENCE(commandSmallIcon);
GUI_INSTANCE_REFERENCE(commandTile);
GUI_INSTANCE_REFERENCE(listViewContacts);
GUI_INSTANCE_REFERENCE(treeViewFolders);
}
else
{
@@ -37,6 +61,18 @@ namespace demo
MainWindow_()
:vl::presentation::GuiInstancePartialClass<vl::presentation::controls::GuiWindow>(L"demo::MainWindow")
,vl::presentation::controls::GuiWindow(vl::presentation::theme::GetCurrentTheme()->CreateWindowStyle())
,commandBigIcon(0)
,commandDeleteContact(0)
,commandDeleteFolder(0)
,commandDetail(0)
,commandInformation(0)
,commandList(0)
,commandNewContact(0)
,commandNewFolder(0)
,commandSmallIcon(0)
,commandTile(0)
,listViewContacts(0)
,treeViewFolders(0)
{
}
};
@@ -53,24 +89,5 @@ namespace vl
}
}
}
namespace demo
{
class MainWindow : public demo::MainWindow_<demo::MainWindow>
{
friend class demo::MainWindow_<demo::MainWindow>;
friend struct vl::reflection::description::CustomTypeDescriptorSelector<demo::MainWindow>;
protected:
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
void OnCreate();
void OnDestroy();
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
public:
MainWindow();
~MainWindow();
};
}
#endif
@@ -0,0 +1,76 @@
/***********************************************************************
Vczh Library++ 3.0
Developer: Zihan Chen(vczh)
GacUI::MainWindow
This file is generated by: Vczh GacUI Resource Code Generator
***********************************************************************/
#include "Demo.h"
namespace demo
{
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
void MainWindow::commandBigIcon_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandDeleteContact_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandDeleteFolder_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandDetail_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandInformation_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandList_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandNewContact_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandNewFolder_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandSmallIcon_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::commandTile_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments)
{
}
void MainWindow::OnCreate()
{
}
void MainWindow::OnDestroy()
{
}
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
MainWindow::MainWindow()
{
InitializeComponents();
OnCreate();
}
MainWindow::~MainWindow()
{
OnDestroy();
ClearSubscriptions();
}
}
@@ -0,0 +1,42 @@
/***********************************************************************
Vczh Library++ 3.0
Developer: Zihan Chen(vczh)
GacUI::MainWindow
This file is generated by: Vczh GacUI Resource Code Generator
***********************************************************************/
#ifndef VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_MainWindow
#define VCZH_GACUI_RESOURCE_CODE_GENERATOR_Demo_MainWindow
#include "DemoPartialClasses.h"
namespace demo
{
class MainWindow : public demo::MainWindow_<demo::MainWindow>
{
friend class demo::MainWindow_<demo::MainWindow>;
friend struct vl::reflection::description::CustomTypeDescriptorSelector<demo::MainWindow>;
protected:
// #region CLASS_MEMBER_GUIEVENT_HANDLER (DO NOT PUT OTHER CONTENT IN THIS #region.)
void commandBigIcon_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandDeleteContact_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandDeleteFolder_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandDetail_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandInformation_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandList_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandNewContact_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandNewFolder_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandSmallIcon_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void commandTile_Executed(GuiGraphicsComposition* sender, vl::presentation::compositions::GuiEventArgs& arguments);
void OnCreate();
void OnDestroy();
// #endregion CLASS_MEMBER_GUIEVENT_HANDLER
public:
MainWindow();
~MainWindow();
};
}
#endif
Binary file not shown.