mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
Controls4U: Update
git-svn-id: svn://ultimatepp.org/upp/trunk@9149 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
8dd31fb007
commit
4754825414
5 changed files with 90 additions and 20 deletions
|
|
@ -39,20 +39,28 @@ void PaintArc(Painter &w, double cx, double cy, double R, double ang0, double an
|
|||
}
|
||||
|
||||
void EditFileFolder::Init() {
|
||||
EditString::AddFrame(butBrowse);
|
||||
WhenEnter = THISBACK1(DoGo, true);
|
||||
butBrowse.SetImage(Controls4UImg::Folder());
|
||||
butBrowse <<= THISBACK(DoBrowse);
|
||||
//EditString::AddFrame(butBrowseLeft);
|
||||
butBrowseLeft.SetImage(Controls4UImg::Folder());
|
||||
butBrowseLeft.Tip(t_("Browse"));
|
||||
butBrowseLeft <<= THISBACK(DoBrowse);
|
||||
EditString::AddFrame(butBrowseRight);
|
||||
butBrowseRight.SetImage(Controls4UImg::Folder());
|
||||
butBrowseRight <<= THISBACK(DoBrowse);
|
||||
butBrowseRight.Tip(t_("Browse"));
|
||||
butLeft.SetImage(CtrlImg::SmallLeft());
|
||||
butLeft <<= THISBACK(DoLeft);
|
||||
butRight.Tip(t_("Go to previous"));
|
||||
butLeft.Enable(false);
|
||||
butRight.SetImage(CtrlImg::SmallRight());
|
||||
butRight <<= THISBACK(DoRight);
|
||||
butRight.Tip(t_("Go to next"));
|
||||
butRight.Enable(false);
|
||||
butUp.SetImage(CtrlImg::DirUp());//SmallUp());
|
||||
butUp <<= THISBACK(DoUp);
|
||||
butUp.Tip(t_("Directory up"));
|
||||
butUp.Enable(false);
|
||||
EditString::AddFrame(butGo);
|
||||
//EditString::AddFrame(butGo);
|
||||
butGo.SetImage(CtrlImg::SmallRight());
|
||||
butGo <<= THISBACK1(DoGo, true);
|
||||
isFile = isLoad = true;
|
||||
|
|
@ -98,14 +106,36 @@ EditFileFolder &EditFileFolder::UseUp(bool use) {
|
|||
|
||||
EditFileFolder &EditFileFolder::UseBrowse(bool use) {
|
||||
if (use) {
|
||||
if (EditString::FindFrame(butBrowse) == -1) {
|
||||
if (EditString::FindFrame(butBrowseLeft) == -1) {
|
||||
int pos = EditString::FindFrame(butUp);
|
||||
if (pos == -1)
|
||||
pos = EditString::FindFrame(butRight);
|
||||
EditString::InsertFrame(pos+1, butBrowse);
|
||||
EditString::InsertFrame(pos+1, butBrowseLeft);
|
||||
}
|
||||
} else
|
||||
EditString::RemoveFrame(butBrowse);
|
||||
EditString::RemoveFrame(butBrowseLeft);
|
||||
return *this;
|
||||
}
|
||||
|
||||
EditFileFolder &EditFileFolder::UseBrowseRight(bool use) {
|
||||
if (use) {
|
||||
if (EditString::FindFrame(butBrowseRight) == -1) {
|
||||
int pos = EditString::FindFrame(butRight);
|
||||
EditString::InsertFrame(pos+1, butBrowseRight);
|
||||
}
|
||||
} else
|
||||
EditString::RemoveFrame(butBrowseRight);
|
||||
return *this;
|
||||
}
|
||||
|
||||
EditFileFolder &EditFileFolder::UseGo(bool use) {
|
||||
if (use) {
|
||||
if (EditString::FindFrame(butGo) == -1) {
|
||||
int pos = EditString::FindFrame(butRight);
|
||||
EditString::InsertFrame(pos+1, butGo);
|
||||
}
|
||||
} else
|
||||
EditString::RemoveFrame(butGo);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ public:
|
|||
class EditFileFolder : public EditString {
|
||||
typedef EditFileFolder CLASSNAME;
|
||||
protected:
|
||||
FrameLeft<Button> butBrowse, butLeft, butRight, butUp;
|
||||
FrameLeft<Button> butBrowseLeft, butLeft, butRight, butUp;
|
||||
FrameRight<Button> butBrowseRight;
|
||||
FrameRight<Button> butGo;
|
||||
|
||||
FileSel_ *pfs;
|
||||
|
|
@ -62,8 +63,9 @@ public:
|
|||
EditFileFolder &UseHistory(bool use);
|
||||
EditFileFolder &UseUp(bool use);
|
||||
EditFileFolder &UseBrowse(bool use);
|
||||
EditFileFolder &UseBrowseRight(bool use);
|
||||
EditFileFolder &UseGo(bool use);
|
||||
virtual void SetData(const Value& data);
|
||||
//virtual void LostFocus() {DoGo(true);}
|
||||
|
||||
Callback WhenChange;
|
||||
};
|
||||
|
|
@ -723,7 +725,7 @@ public:
|
|||
InfoCtrlBar &SetAlign(int a) {bar.SetAlign(a); return *this;}
|
||||
|
||||
private:
|
||||
BarDisplay bar;
|
||||
BarDisplay bar;
|
||||
};
|
||||
|
||||
class InfoCtrlText : public InfoCtrl {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,30 @@
|
|||
#endif
|
||||
// Controls4U.cpp
|
||||
|
||||
T_("Browse")
|
||||
caES("")
|
||||
esES("Explorar")
|
||||
euES("")
|
||||
frFR("")
|
||||
|
||||
T_("Go to previous")
|
||||
caES("")
|
||||
esES("Ir al anterior")
|
||||
euES("")
|
||||
frFR("")
|
||||
|
||||
T_("Go to next")
|
||||
caES("")
|
||||
esES("Ir al siguiente")
|
||||
euES("")
|
||||
frFR("")
|
||||
|
||||
T_("Directory up")
|
||||
caES("")
|
||||
esES("Directorio arriba")
|
||||
euES("")
|
||||
frFR("")
|
||||
|
||||
T_("Select file")
|
||||
caES("")
|
||||
esES("Seleccionar fichero")
|
||||
|
|
|
|||
|
|
@ -123,12 +123,13 @@ fn FillCircle(w, cx, cy, R, color) {
|
|||
FillEllipse(w, cx-R, cy-R, cx+R, cy+R, color);
|
||||
}
|
||||
|
||||
fn DrawEditField(w, &r, cy, text, SetFrame, UseHistory, UseUp, UseBrowse, SetEditable, NotNull)
|
||||
fn DrawEditField(w, &r, cy, text, SetFrame, UseHistory, UseUp, UseBrowse, UseBrowseRight, UseGo, SetEditable, NotNull)
|
||||
{
|
||||
DrawCtrlFrame(w, r, SetFrame);
|
||||
w.DrawRect(r, :SWhite);
|
||||
n = r.bottom - r.top;
|
||||
leftPos = r.left;
|
||||
rightPos = r.right;
|
||||
if (UseHistory) {
|
||||
DrawEdgeButton(w, RectC(leftPos, r.top, n, n));
|
||||
w.DrawImage((n - 7) / 2 + leftPos, (n - 8) / 2 + r.top, "CtrlImg::SmallLeft");
|
||||
|
|
@ -144,13 +145,21 @@ fn DrawEditField(w, &r, cy, text, SetFrame, UseHistory, UseUp, UseBrowse, SetEdi
|
|||
}
|
||||
if (UseBrowse) {
|
||||
DrawEdgeButton(w, RectC(leftPos, r.top, n, n));
|
||||
w.DrawImage((n - 7) / 2 + leftPos, (n - 6) / 2 + r.top, "ClassicCtrlsImg::RA");
|
||||
w.DrawImage(leftPos + 2, r.top, "CtrlImg::Dir");
|
||||
leftPos += n;
|
||||
}
|
||||
DrawEdgeButton(w, RectC(r.right - n, r.top, n, n));
|
||||
w.DrawImage((n - 7) / 2 + r.right - n, (n - 8) / 2 + r.top, "CtrlImg::SmallRight");
|
||||
w.DrawText(leftPos + 3, (cy - GetTextSize("", Arial(10)).cy) / 2,
|
||||
(SetEditable ? "" : "R/O ")+ (NotNull ? "!" : "") + text, Arial(10), :SMagenta);
|
||||
if (UseGo) {
|
||||
DrawEdgeButton(w, RectC(rightPos - n, r.top, n, n));
|
||||
w.DrawImage((n - 7) / 2 + rightPos - n, (n - 8) / 2 + r.top, "CtrlImg::SmallRight");
|
||||
rightPos -= n;
|
||||
}
|
||||
if (UseBrowseRight) {
|
||||
DrawEdgeButton(w, RectC(rightPos - n, r.top, n, n));
|
||||
w.DrawImage(rightPos - n + 2, r.top, "CtrlImg::Dir");
|
||||
rightPos -= n;
|
||||
}
|
||||
//w.DrawText(leftPos + 3, (cy - GetTextSize("", Arial(10)).cy) / 2,
|
||||
// (SetEditable ? "" : "R/O ")+ (NotNull ? "!" : "") + text, Arial(10), :SMagenta);
|
||||
}
|
||||
|
||||
ctrl EditFile {
|
||||
|
|
@ -164,7 +173,9 @@ ctrl EditFile {
|
|||
Font SetFont = StdFont() @3;
|
||||
bool SetEditable = true @4 ? "Editable";
|
||||
bool UseUp = false;
|
||||
bool UseBrowse = true;
|
||||
bool UseGo = false;
|
||||
bool UseBrowse = false;
|
||||
bool UseBrowseRight = true;
|
||||
bool UseHistory = false;
|
||||
Frame SetFrame = InsetFrame() @5;
|
||||
Text Tip @6;
|
||||
|
|
@ -173,7 +184,7 @@ ctrl EditFile {
|
|||
|
||||
Paint(w) {
|
||||
r = GetRect();
|
||||
DrawEditField(w, r, GetSize().cy, "File name", .SetFrame, .UseHistory, .UseUp, .UseBrowse, .SetEditable, .NotNull);
|
||||
DrawEditField(w, r, GetSize().cy, "File name", .SetFrame, .UseHistory, .UseUp, .UseBrowse, .UseBrowseRight, .UseGo, .SetEditable, .NotNull);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -188,7 +199,9 @@ ctrl EditFolder {
|
|||
Font SetFont = StdFont() @3;
|
||||
bool SetEditable = true @4 ? "Editable";
|
||||
bool UseUp = false;
|
||||
bool UseBrowse = true;
|
||||
bool UseGo = false;
|
||||
bool UseBrowse = false;
|
||||
bool UseBrowseRight = true;
|
||||
bool UseHistory = false;
|
||||
Frame SetFrame = InsetFrame() @5;
|
||||
Text Tip @6;
|
||||
|
|
@ -197,7 +210,7 @@ ctrl EditFolder {
|
|||
|
||||
Paint(w) {
|
||||
r = GetRect();
|
||||
DrawEditField(w, r, GetSize().cy, "Folder name", .SetFrame, .UseHistory, .UseUp, .UseBrowse, .SetEditable, .NotNull);
|
||||
DrawEditField(w, r, GetSize().cy, "Folder name", .SetFrame, .UseHistory, .UseUp, .UseBrowse, .UseBrowseRight, .UseGo, .SetEditable, .NotNull);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,5 +3,6 @@
|
|||
#include "CtrlLib/init"
|
||||
#include "Functions4U/init"
|
||||
#include "ClassFactory/init"
|
||||
#include "PolyXML/init"
|
||||
#include "Painter/init"
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue