mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-21 22:04:56 -06:00
Syncing uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@2149 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
4371834b33
commit
ea66c2f3f1
9 changed files with 63 additions and 58 deletions
|
|
@ -2,44 +2,24 @@
|
|||
|
||||
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);
|
||||
}
|
||||
};
|
||||
void WidgetFactory(int line, One<Ctrl>& x)
|
||||
{
|
||||
if(line & 1)
|
||||
x.Create<EditString>();
|
||||
else
|
||||
x.Create<Option>().SetLabel("Line " + AsString(line));
|
||||
}
|
||||
|
||||
GUI_APP_MAIN
|
||||
{
|
||||
ArrayCtrl a;
|
||||
a.Appending().Removing();
|
||||
a.AddColumn("Text").Ctrls<EditStringSpecial>();
|
||||
a.AddColumn("Text").Ctrls(WidgetFactory);
|
||||
for(int i = 0; i < 300; i++)
|
||||
a.Add(AsString(i));
|
||||
for(int i = 0; i < 300; i += 3)
|
||||
a.GetCtrl(i, 0)->Disable();
|
||||
|
||||
a.SetLineCy(Draw::GetStdFontCy() + 8);
|
||||
|
||||
TopWindow app;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
"AssistTest.h"
|
||||
, main.cpp
|
||||
, "AssistTest.lay"
|
||||
|
||||
;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
AssistTest.h,
|
||||
app.tpp,
|
||||
main.cpp,
|
||||
AssistTest.lay;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
|
||||
|
|
|
|||
0
uppdev/AssistTest/app.tpp/all.i
Normal file
0
uppdev/AssistTest/app.tpp/all.i
Normal file
4
uppdev/AssistTest/init
Normal file
4
uppdev/AssistTest/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _AssistTest_icpp_init_stub
|
||||
#define _AssistTest_icpp_init_stub
|
||||
#include "CtrlLib/init"
|
||||
#endif
|
||||
|
|
@ -1,4 +1,6 @@
|
|||
#include "AssistTest.h"
|
||||
#define TOPICFILE <AssistTest/app.tpp/all.i>
|
||||
#include <Core/topic_group.h>
|
||||
|
||||
AssistTest::AssistTest()
|
||||
{
|
||||
|
|
@ -11,3 +13,8 @@ GUI_APP_MAIN
|
|||
l.GetPos
|
||||
AssistTest().Run();
|
||||
}
|
||||
|
||||
struct justatest {
|
||||
typedef justatest CLASSNAME;
|
||||
typedef justatest CLASSNAME;
|
||||
};
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
ToolBarAsCtrl.h,
|
||||
ToolBar.iml,
|
||||
main.cpp,
|
||||
ToolBarAsCtrl.lay;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
ToolBarAsCtrl.h,
|
||||
ToolBar.iml,
|
||||
main.cpp,
|
||||
ToolBarAsCtrl.lay;
|
||||
|
||||
mainconfig
|
||||
"" = "GUI";
|
||||
|
||||
|
|
|
|||
4
uppdev/ToolBarAsCtrl/init
Normal file
4
uppdev/ToolBarAsCtrl/init
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#ifndef _ToolBarAsCtrl_icpp_init_stub
|
||||
#define _ToolBarAsCtrl_icpp_init_stub
|
||||
#include "CtrlLib/init"
|
||||
#endif
|
||||
|
|
@ -36,5 +36,7 @@ void ToolBarAsCtrl::Layout() {
|
|||
|
||||
GUI_APP_MAIN
|
||||
{
|
||||
GUI_PopUpEffect_Write(GUIEFFECT_NONE);
|
||||
GUI_ToolTipDelay_Write(10);
|
||||
ToolBarAsCtrl().Run();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,16 +34,21 @@ static void PaintLegend(Draw& draw, Rect& outer, const Vector<String>& linie, bo
|
|||
fmt.Face(Font::ARIAL).Height(TEXT_HT);
|
||||
for(int o = 0; o < order.GetCount(); o++) {
|
||||
String l = linie[order[o]];
|
||||
String ltext = l;
|
||||
WString ltext = l.ToWString();
|
||||
|
||||
DrawingDraw ddraw(LINE_WD, TEXT_HT);
|
||||
ddraw.DrawLine(0, TEXT_HT / 2, LINE_WD, TEXT_HT / 2, 5, LtGreen());
|
||||
|
||||
if(o)
|
||||
legend_para.Cat("\xA0\xA0\xA0 ", fmt);
|
||||
if(o) {
|
||||
legend_para.Cat(WString(0xa0, 1), fmt);
|
||||
legend_para.Cat(WString(0xa0, 1), fmt);
|
||||
legend_para.Cat(WString(0xa0, 1), fmt);
|
||||
legend_para.Cat(WString(' ', 1), fmt);
|
||||
}
|
||||
|
||||
legend_para.Cat(CreateDrawingObject(ddraw, LINE_WD, TEXT_HT), fmt);
|
||||
legend_para.Cat("\xA0\xA0", fmt);
|
||||
legend_para.Cat(WString(0xa0, 1), fmt);
|
||||
legend_para.Cat(WString(0xa0, 1), fmt);
|
||||
for(int i = 0; i < ltext.GetLength(); i++)
|
||||
if(ltext[i] == ' ')
|
||||
ltext.Set(i, 0xA0);
|
||||
|
|
@ -53,6 +58,8 @@ static void PaintLegend(Draw& draw, Rect& outer, const Vector<String>& linie, bo
|
|||
rtext.Cat(legend_para);
|
||||
rtext.Normalize();
|
||||
|
||||
DDUMP(AsQTF(rtext));
|
||||
|
||||
int wd = min(rtext.GetWidth(), outer.Width() - 2 * LEG_INNER_GAP);
|
||||
int ht = rtext.GetHeight(wd);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue