mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
changed svn layout
git-svn-id: svn://ultimatepp.org/upp/trunk@281 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
commit
263ff5f895
2665 changed files with 642923 additions and 0 deletions
38
reference/Counter/Counter.cpp
Normal file
38
reference/Counter/Counter.cpp
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#include "Counter.h"
|
||||
|
||||
Value CounterCtrl::GetData() const
|
||||
{
|
||||
return number;
|
||||
}
|
||||
|
||||
void CounterCtrl::SetData(const Value& v)
|
||||
{
|
||||
number = v;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void CounterCtrl::Paint(Draw& w)
|
||||
{
|
||||
Size sz = GetSize();
|
||||
w.DrawRect(sz, paper);
|
||||
String txt = AsString(number);
|
||||
sz = (sz - GetTextSize(txt, font)) / 2;
|
||||
w.DrawText(sz.cx, sz.cy, txt, font, ink);
|
||||
}
|
||||
|
||||
void CounterCtrl::LeftDown(Point, dword)
|
||||
{
|
||||
number++;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
CounterCtrl::CounterCtrl()
|
||||
{
|
||||
number = 0;
|
||||
ink = SBlack;
|
||||
paper = SWhite;
|
||||
font = StdFont();
|
||||
SetFrame(BlackFrame());
|
||||
}
|
||||
|
||||
CounterCtrl::~CounterCtrl() {}
|
||||
29
reference/Counter/Counter.h
Normal file
29
reference/Counter/Counter.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#ifndef _T_Counter_Counter_h_
|
||||
#define _T_Counter_Counter_h_
|
||||
|
||||
#include <CtrlLib/CtrlLib.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
class CounterCtrl : public Ctrl {
|
||||
public:
|
||||
virtual Value GetData() const;
|
||||
virtual void SetData(const Value& v);
|
||||
virtual void Paint(Draw& w);
|
||||
virtual void LeftDown(Point, dword);
|
||||
|
||||
private:
|
||||
int number;
|
||||
Font font;
|
||||
Color ink, paper;
|
||||
|
||||
public:
|
||||
CounterCtrl& SetFont(Font f) { font = f; Refresh(); return *this; }
|
||||
CounterCtrl& Ink(Color c) { ink = c; Refresh(); return *this; }
|
||||
CounterCtrl& Paper(Color c) { paper = c; Refresh(); return *this; }
|
||||
|
||||
CounterCtrl();
|
||||
~CounterCtrl();
|
||||
};
|
||||
|
||||
#endif
|
||||
10
reference/Counter/Counter.upp
Normal file
10
reference/Counter/Counter.upp
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
description "Counter widget used in UscCtrl example";
|
||||
|
||||
uses
|
||||
CtrlLib;
|
||||
|
||||
file
|
||||
Counter.h,
|
||||
Counter.cpp,
|
||||
Counter.usc font 2;
|
||||
|
||||
20
reference/Counter/Counter.usc
Normal file
20
reference/Counter/Counter.usc
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
ctrl CounterCtrl {
|
||||
group "Example";
|
||||
|
||||
GetMinSize() { sz = GetTextSize("X"); sz.cy += 2; return sz; }
|
||||
GetStdSize() { sz = GetMinSize(); sz.cx *= 7; return sz; }
|
||||
|
||||
Frame SetFrame = BlackFrame() @2;
|
||||
Font SetFont = StdFont();
|
||||
Color Ink = :SBlack;
|
||||
Color Paper = :SWhite;
|
||||
|
||||
Paint(w) {
|
||||
r = GetRect();
|
||||
DrawCtrlFrame(w, r, .SetFrame);
|
||||
w.DrawRect(r, .Paper);
|
||||
textsize = GetTextSize("0", .SetFont);
|
||||
w.DrawText((r.right + r.left - textsize.cx) / 2,
|
||||
(r.bottom + r.top - textsize.cy) / 2, "0", .SetFont, .Ink);
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue