mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-08-25 14:22:54 -06:00
theide: Laydes: Resize layout with/without springs option
git-svn-id: svn://ultimatepp.org/upp/trunk@1190 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
c07c50dca7
commit
142bdd60c3
4 changed files with 43 additions and 16 deletions
|
|
@ -314,6 +314,7 @@ private:
|
|||
|
||||
bool usegrid;
|
||||
bool ignoreminsize;
|
||||
bool sizespring;
|
||||
|
||||
WithMatrixLayout<TopWindow> matrix;
|
||||
WithSettingLayout<TopWindow> setting;
|
||||
|
|
@ -392,6 +393,7 @@ private:
|
|||
|
||||
void ToggleGrid();
|
||||
void ToggleMinSize();
|
||||
void ToggleSizeSpring();
|
||||
void Settings();
|
||||
|
||||
enum Code {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
PREMULTIPLIED
|
||||
IMAGE_ID(CrossCursor)
|
||||
IMAGE_ID(RwIconSmall)
|
||||
IMAGE_ID(RwIconLarge)
|
||||
|
|
@ -27,6 +28,7 @@ IMAGE_ID(SpringVCenter)
|
|||
IMAGE_ID(SpringBottom)
|
||||
IMAGE_ID(SpringTopLeft)
|
||||
IMAGE_ID(SpringAuto)
|
||||
IMAGE_ID(SizeSpring)
|
||||
IMAGE_ID(Duplicate)
|
||||
IMAGE_ID(MoveUp)
|
||||
IMAGE_ID(MoveDown)
|
||||
|
|
@ -89,17 +91,20 @@ IMAGE_DATA(142,106,237,91,227,151,226,154,167,132,95,222,23,236,181,0,0,0,0,0,0,
|
|||
IMAGE_END_DATA(608, 16)
|
||||
|
||||
IMAGE_BEGIN_DATA
|
||||
IMAGE_DATA(120,156,205,151,221,118,195,32,8,128,189,223,46,250,200,62,90,222,140,105,87,22,163,128,252,184,68,118,56,166,212,15)
|
||||
IMAGE_DATA(4,140,117,233,149,94,9,32,173,20,80,42,203,31,199,33,170,134,47,67,136,151,124,88,214,79,249,152,241,105,168,211)
|
||||
IMAGE_DATA(95,135,52,245,227,220,46,232,178,203,7,147,203,144,19,203,143,245,131,75,93,45,60,178,94,62,186,31,60,188,82,227)
|
||||
IMAGE_DATA(18,59,12,34,27,12,155,18,97,87,248,192,231,95,201,57,67,171,181,89,189,237,234,35,194,247,126,226,188,191,22,103)
|
||||
IMAGE_DATA(252,106,104,199,222,54,137,127,217,164,13,67,28,10,100,255,196,216,116,254,235,196,87,255,125,248,144,172,190,25,244,11)
|
||||
IMAGE_DATA(167,116,103,126,129,68,55,115,232,101,90,240,50,59,132,63,204,116,245,127,138,31,15,115,91,206,94,126,245,143,153,87)
|
||||
IMAGE_DATA(58,254,31,254,77,88,33,218,171,17,119,69,130,60,86,124,208,44,240,48,241,129,223,73,60,231,163,181,205,248,126,126)
|
||||
IMAGE_DATA(239,79,195,35,71,173,229,14,62,178,254,72,253,40,86,219,63,137,213,236,31,163,238,33,223,229,239,230,195,64,124,137)
|
||||
IMAGE_DATA(5,230,78,251,172,81,160,120,246,206,167,98,239,183,113,40,121,96,51,85,177,68,4,102,212,250,110,155,64,249,160,230)
|
||||
IMAGE_DATA(115,177,103,243,165,207,146,175,136,143,125,100,118,77,201,217,190,112,100,234,88,124,67,251,89,195,34,195,61,91,124,244)
|
||||
IMAGE_DATA(163,134,69,237,115,105,237,82,92,212,62,126,107,183,196,175,210,218,115,202,111,245,228,255,246,85,88,28,37,150,125,254)
|
||||
IMAGE_DATA(196,231,214,64,245,31,115,104,69,202,225,186,30,24,175,9,90,254,147,43,37,38,254,193,248,146,206,120,147,124,149,95)
|
||||
IMAGE_DATA(150,51,240,121,55,181,40,157,168,110,30,55,159,178,75,190,119,152,103,157,235,169,241,157,107,248,1,235,46,32,105,0)
|
||||
IMAGE_END_DATA(416, 8)
|
||||
IMAGE_DATA(120,156,205,151,91,118,196,32,8,134,125,111,31,102,199,101,105,179,51,27,211,48,49,10,8,66,19,255,30,142,137,245)
|
||||
IMAGE_DATA(3,241,22,39,189,210,43,229,159,116,8,178,223,174,130,148,186,58,90,225,124,38,204,196,215,66,30,152,18,249,242,126)
|
||||
IMAGE_DATA(212,77,241,222,248,129,249,83,18,124,158,60,223,71,58,39,15,15,159,241,142,139,239,205,127,36,32,231,34,138,119,216)
|
||||
IMAGE_DATA(126,24,40,183,155,82,212,128,89,22,102,126,191,223,162,105,248,50,239,30,94,242,97,233,63,229,99,196,167,110,156,62)
|
||||
IMAGE_DATA(51,164,220,216,164,219,128,89,158,242,193,228,210,229,196,242,253,248,229,203,184,90,120,100,103,121,239,122,152,225,149,230)
|
||||
IMAGE_DATA(151,239,48,240,44,48,156,20,15,27,225,3,159,255,4,176,125,221,43,43,147,213,214,93,125,120,248,214,143,159,159,31)
|
||||
IMAGE_DATA(139,51,126,169,168,203,182,110,16,255,178,72,43,134,56,20,200,249,19,99,211,249,199,105,110,252,215,225,93,138,190,25)
|
||||
IMAGE_DATA(180,29,167,108,101,62,64,222,197,236,218,76,1,155,121,66,252,97,166,27,255,167,248,254,48,183,229,60,203,71,127,204)
|
||||
IMAGE_DATA(102,213,240,255,240,51,33,66,218,171,17,119,69,218,127,71,230,129,129,192,231,129,15,252,159,196,115,62,234,186,17,223)
|
||||
IMAGE_DATA(182,111,253,105,120,228,168,190,220,193,123,250,239,25,63,138,213,206,159,196,106,214,143,209,214,208,247,246,119,243,97,32)
|
||||
IMAGE_DATA(110,98,129,185,179,126,52,81,89,241,60,219,158,138,189,222,194,161,244,192,98,42,178,68,204,76,169,245,93,79,2,229)
|
||||
IMAGE_DATA(131,106,207,197,30,181,151,222,37,95,30,31,235,104,116,77,1,176,119,28,153,82,110,190,115,253,174,97,145,225,158,45)
|
||||
IMAGE_DATA(62,218,82,195,162,181,185,212,245,82,92,180,54,126,93,111,137,95,84,215,67,130,221,102,242,223,125,109,44,150,18,203)
|
||||
IMAGE_DATA(62,31,241,185,62,80,243,143,57,212,146,114,184,246,39,247,215,4,45,127,228,74,201,196,63,24,95,178,17,111,210,215)
|
||||
IMAGE_DATA(246,101,57,3,159,119,83,139,209,137,234,218,113,237,169,122,201,247,10,237,172,109,103,198,248,206,62,252,2,158,162,10)
|
||||
IMAGE_DATA(88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
|
||||
IMAGE_END_DATA(512, 9)
|
||||
|
|
|
|||
|
|
@ -649,10 +649,19 @@ void LayDes::MouseMove(Point p, dword keyflags)
|
|||
}
|
||||
p -= dragbase;
|
||||
if(draghandle < 3) {
|
||||
Vector<Rect> r;
|
||||
r.SetCount(l.item.GetCount());
|
||||
for(int i = 0; i < l.item.GetCount(); i++)
|
||||
r[i] = CtrlRect(l.item[i].pos, l.size);
|
||||
if((draghandle + 1) & 1)
|
||||
l.size.cx = max(0, draglayoutsize.cx + p.x) / gx * gx;
|
||||
if((draghandle + 1) & 2)
|
||||
l.size.cy = max(0, draglayoutsize.cy + p.y) / gy * gy;
|
||||
if(!sizespring)
|
||||
for(int i = 0; i < l.item.GetCount(); i++) {
|
||||
LayoutItem& m = l.item[i];
|
||||
m.pos = MakeLogPos(m.pos, r[i], l.size);
|
||||
}
|
||||
SetStatus(true);
|
||||
SetSb();
|
||||
Sync();
|
||||
|
|
@ -681,7 +690,7 @@ void LayDes::MouseMove(Point p, dword keyflags)
|
|||
if(draghandle == 5 || draghandle == 7 || draghandle == 10)
|
||||
r.right = max(r.left + minsize.cx, (r.right + p.x) / gy * gy);
|
||||
if(draghandle == 12) {
|
||||
Size sz = r.Size();
|
||||
Size sz = r.GetSize();
|
||||
if(i == 0) {
|
||||
Rect q = r;
|
||||
r.left = (r.left + p.x) / gx * gx;
|
||||
|
|
|
|||
|
|
@ -144,6 +144,12 @@ void LayDes::ToggleMinSize()
|
|||
SetBar();
|
||||
}
|
||||
|
||||
void LayDes::ToggleSizeSpring()
|
||||
{
|
||||
sizespring = !sizespring;
|
||||
SetBar();
|
||||
}
|
||||
|
||||
void LayDes::Settings()
|
||||
{
|
||||
setting.Execute();
|
||||
|
|
@ -157,6 +163,8 @@ void LayDes::OptionBar(Bar& bar)
|
|||
.Check(usegrid);
|
||||
bar.Add("Ignore min size", LayImg::MinSize(), THISBACK(ToggleMinSize))
|
||||
.Check(ignoreminsize);
|
||||
bar.Add("Resize with springs", LayImg::SizeSpring(), THISBACK(ToggleSizeSpring))
|
||||
.Check(sizespring);
|
||||
bar.Add("Settings..", THISBACK(Settings));
|
||||
}
|
||||
|
||||
|
|
@ -215,11 +223,13 @@ class CVFrame : public CtrlFrame {
|
|||
|
||||
void LayDes::Serialize(Stream& s)
|
||||
{
|
||||
int version = 0;
|
||||
int version = 1;
|
||||
s / version;
|
||||
s % setting.gridx % setting.gridy;
|
||||
s % setting.paintgrid % setting.showicons;
|
||||
s % ignoreminsize % usegrid;
|
||||
if(version >= 1)
|
||||
s % sizespring;
|
||||
s % lsplit % isplit % rsplit;
|
||||
item.SerializeHeader(s);
|
||||
SetBar();
|
||||
|
|
@ -244,6 +254,7 @@ LayDes::LayDes()
|
|||
|
||||
usegrid = true;
|
||||
ignoreminsize = false;
|
||||
sizespring = false;
|
||||
|
||||
SetBar();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue