mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
syncing uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@1929 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
3c76d02bc6
commit
b99842659f
17 changed files with 294 additions and 4 deletions
9
uppdev/ArrayCtrlCtrls/ArrayCtrlCtrls.upp
Normal file
9
uppdev/ArrayCtrlCtrls/ArrayCtrlCtrls.upp
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
main.cpp;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
|
||||
49
uppdev/ArrayCtrlCtrls/main.cpp
Normal file
49
uppdev/ArrayCtrlCtrls/main.cpp
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include <CtrlLib/CtrlLib.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
struct EditStringSpecial : EditString {
|
||||
ArrayCtrl *GetArrayCtrl() {
|
||||
for(Ctrl *q = GetParent(); q; q = q->GetParent())
|
||||
if(ArrayCtrl *a = dynamic_cast<ArrayCtrl *>(q))
|
||||
return a;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void DoMenu(EditStringSpecial *x) {
|
||||
MenuBar bar;
|
||||
x->StdBar(bar);
|
||||
ArrayCtrl *a = x->GetArrayCtrl();
|
||||
if(a) {
|
||||
bar.Separator();
|
||||
a->WhenBar(bar);
|
||||
}
|
||||
bar.Execute();
|
||||
}
|
||||
|
||||
void MyBar(Bar& bar)
|
||||
{
|
||||
PostCallback(callback1(DoMenu, this));
|
||||
}
|
||||
|
||||
typedef EditStringSpecial CLASSNAME;
|
||||
|
||||
EditStringSpecial() {
|
||||
WhenBar = THISBACK(MyBar);
|
||||
}
|
||||
};
|
||||
|
||||
GUI_APP_MAIN
|
||||
{
|
||||
ArrayCtrl a;
|
||||
a.Appending().Removing();
|
||||
a.AddColumn("Text").Ctrls<EditStringSpecial>();
|
||||
for(int i = 0; i < 300; i++)
|
||||
a.Add(AsString(i));
|
||||
a.SetLineCy(Draw::GetStdFontCy() + 8);
|
||||
|
||||
TopWindow app;
|
||||
app.Add(a.SizePos());
|
||||
app.Sizeable();
|
||||
app.Run();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue