From fcdccf4f817f8f53ea1639108510a7fa1a6fdf8d Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 24 Feb 2012 17:43:33 +0000 Subject: [PATCH] reference: DerivedLayout example git-svn-id: svn://ultimatepp.org/upp/trunk@4615 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- reference/DerivedLayout/DerivedLayout.h | 19 +++++++++++++++++++ reference/DerivedLayout/DerivedLayout.lay | 10 ++++++++++ reference/DerivedLayout/DerivedLayout.upp | 13 +++++++++++++ reference/DerivedLayout/init | 4 ++++ reference/DerivedLayout/main.cpp | 16 ++++++++++++++++ 5 files changed, 62 insertions(+) create mode 100644 reference/DerivedLayout/DerivedLayout.h create mode 100644 reference/DerivedLayout/DerivedLayout.lay create mode 100644 reference/DerivedLayout/DerivedLayout.upp create mode 100644 reference/DerivedLayout/init create mode 100644 reference/DerivedLayout/main.cpp diff --git a/reference/DerivedLayout/DerivedLayout.h b/reference/DerivedLayout/DerivedLayout.h new file mode 100644 index 000000000..33b7ac9b0 --- /dev/null +++ b/reference/DerivedLayout/DerivedLayout.h @@ -0,0 +1,19 @@ +#ifndef _DerivedLayout_DerivedLayout_h +#define _DerivedLayout_DerivedLayout_h + +#include + +using namespace Upp; + +#define LAYOUTFILE +#include + +struct Base : public WithBaseLayout { + Base(); +}; + +struct Derived : public Base, public WithDerivedLayout { + Derived(); +}; + +#endif diff --git a/reference/DerivedLayout/DerivedLayout.lay b/reference/DerivedLayout/DerivedLayout.lay new file mode 100644 index 000000000..43efbb24b --- /dev/null +++ b/reference/DerivedLayout/DerivedLayout.lay @@ -0,0 +1,10 @@ +LAYOUT(BaseLayout, 184, 68) + ITEM(Label, bl, SetLabel(t_("Base class control:")).LeftPosZ(8, 108).TopPosZ(8, 20)) + ITEM(EditString, baseEdit, LeftPosZ(116, 64).TopPosZ(8, 19)) +END_LAYOUT + +LAYOUT(DerivedLayout, 184, 68) + ITEM(Label, dl, SetLabel(t_("Derived class control:")).LeftPosZ(8, 112).TopPosZ(36, 20)) + ITEM(EditString, derivedEdit, LeftPosZ(116, 64).TopPosZ(36, 19)) +END_LAYOUT + diff --git a/reference/DerivedLayout/DerivedLayout.upp b/reference/DerivedLayout/DerivedLayout.upp new file mode 100644 index 000000000..db83b2c05 --- /dev/null +++ b/reference/DerivedLayout/DerivedLayout.upp @@ -0,0 +1,13 @@ +description "Combining Layouts in class inheritance\377"; + +uses + CtrlLib; + +file + DerivedLayout.h, + main.cpp, + DerivedLayout.lay; + +mainconfig + "" = "GUI"; + diff --git a/reference/DerivedLayout/init b/reference/DerivedLayout/init new file mode 100644 index 000000000..978af7711 --- /dev/null +++ b/reference/DerivedLayout/init @@ -0,0 +1,4 @@ +#ifndef _DerivedLayout_icpp_init_stub +#define _DerivedLayout_icpp_init_stub +#include "CtrlLib/init" +#endif diff --git a/reference/DerivedLayout/main.cpp b/reference/DerivedLayout/main.cpp new file mode 100644 index 000000000..077660a2d --- /dev/null +++ b/reference/DerivedLayout/main.cpp @@ -0,0 +1,16 @@ +#include "DerivedLayout.h" + +Base::Base() +{ + CtrlLayout(*this); +} + +Derived::Derived() +{ + SetLayout_DerivedLayout(*this, true); +} + +GUI_APP_MAIN +{ + Derived().Run(); +}