summaryrefslogtreecommitdiff
path: root/fluid/Fl_Window_Type.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2005-03-19 08:38:21 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2005-03-19 08:38:21 +0000
commit81bd60b47dbd8a2a25e1400594849702539def94 (patch)
treed9b9a90274faba63e05696d7db40782b0c7f18cf /fluid/Fl_Window_Type.cxx
parent59004878f3c36ec693737b631f5769f511fd74cb (diff)
More UI cleanup.
fluid/*.fl: - Go through all of the UIs and make sure they conform to the UI guidelines. fluid/fluid.cxx: - Change fl_ask() and fl_choice() to use the "Save"/"Don't Save" and similar button labels instead of "Yes" and "No", per UI guidelines. fluid/factory.cxx: fluid/Fl_Type.h: - Make sure that widget and type names are capitalized. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4130 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid/Fl_Window_Type.cxx')
-rw-r--r--fluid/Fl_Window_Type.cxx129
1 files changed, 74 insertions, 55 deletions
diff --git a/fluid/Fl_Window_Type.cxx b/fluid/Fl_Window_Type.cxx
index 828bbd932..e5a038657 100644
--- a/fluid/Fl_Window_Type.cxx
+++ b/fluid/Fl_Window_Type.cxx
@@ -49,7 +49,6 @@ extern const char* i18n_include;
extern const char* i18n_function;
extern const char* i18n_file;
extern const char* i18n_set;
-extern int modflag;
extern Fl_Preferences fluid_prefs;
@@ -144,7 +143,7 @@ void i18n_type_cb(Fl_Choice *c, void *) {
break;
}
- modflag = 1;
+ set_modflag(1);
}
void i18n_text_cb(Fl_Input *i, void *) {
@@ -157,7 +156,7 @@ void i18n_text_cb(Fl_Input *i, void *) {
else if (i == i18n_include_input)
i18n_include = i->value();
- modflag = 1;
+ set_modflag(1);
}
extern const char* header_file_name;
@@ -619,6 +618,7 @@ void Fl_Window_Type::draw_overlay() {
if (!(myo->o->align() & FL_ALIGN_INSIDE)) {
// Adjust top/bottom for top/bottom labels...
int ww, hh;
+ ww = myo->o->w();
hh = myo->o->labelsize();
myo->o->measure_label(ww, hh);
if (myo->o->align() & FL_ALIGN_TOP) y -= hh;
@@ -644,7 +644,7 @@ void Fl_Window_Type::draw_overlay() {
if (drag) {
// Check top spacing...
- if (abs(d = myby - ysp) < 5) {
+ if (abs(d = myby - ysp) < 3) {
dy -= d;
if (drag & DRAG) mybt -= d;
myby -= d;
@@ -652,7 +652,7 @@ void Fl_Window_Type::draw_overlay() {
}
// Check bottom spacing...
- if (abs(d = o->h() - mybt - ysp) < 5) {
+ if (abs(d = o->h() - mybt - ysp) < 3) {
dy += d;
if (drag & DRAG) myby += d;
mybt += d;
@@ -660,7 +660,7 @@ void Fl_Window_Type::draw_overlay() {
}
// Check left spacing...
- if (abs(d = mybx - xsp) < 5) {
+ if (abs(d = mybx - xsp) < 3) {
dx -= d;
if (drag & DRAG) mybr -= d;
mybx -= d;
@@ -668,7 +668,7 @@ void Fl_Window_Type::draw_overlay() {
}
// Check right spacing...
- if (abs(d = o->w() - mybr - xsp) < 5) {
+ if (abs(d = o->w() - mybr - xsp) < 3) {
dx += d;
if (drag & DRAG) mybx += d;
mybr += d;
@@ -678,8 +678,10 @@ void Fl_Window_Type::draw_overlay() {
if (numselected==1 && selection && !(drag & DRAG)) {
// Check ideal sizes
- int w = mybr-mybx;
- int h = mybt-myby;
+ int x,y,r,t;
+ newposition(mysel,x,y,r,t);
+ int w = r-x;
+ int h = t-y;
int iw = w, ih = h;
mysel->ideal_size(iw, ih);
@@ -690,15 +692,17 @@ void Fl_Window_Type::draw_overlay() {
// Resize height
if (drag & TOP) {
myby -= d;
+ y -= d;
dy -= d;
} else {
mybt += d;
+ t += d;
dy += d;
}
}
// Draw height guide
- draw_height(mybx < 50 ? mybx+10 : mybx-10, myby, mybt,
+ draw_height(mybx < 50 ? mybx+10 : mybx-10, y, t,
mybx < 50 ? FL_ALIGN_RIGHT : FL_ALIGN_LEFT);
}
@@ -716,8 +720,8 @@ void Fl_Window_Type::draw_overlay() {
}
// Draw width guide
- draw_width(mybx, myby < 50 ? myby+10 : myby-10, mybr,
- myby < 50 ? FL_ALIGN_BOTTOM : FL_ALIGN_TOP);
+ draw_width(mybx, myby < 50 ? y+10 : y-10, mybr,
+ y < 50 ? FL_ALIGN_BOTTOM : FL_ALIGN_TOP);
}
}
@@ -726,16 +730,31 @@ void Fl_Window_Type::draw_overlay() {
for (Fl_Type *q=next; q && q->level>level; q = q->next)
if (q != selection && q->is_widget()) {
Fl_Widget_Type *qw = (Fl_Widget_Type*)q;
-
// Only check visible widgets...
if (!qw->o->visible_r()) continue;
- // Do horizontal alignment when the widget is within 50
+ // Get bounding box of widget...
+ int qx = qw->o->x();
+ int qr = qw->o->x() + qw->o->w();
+ int qy = qw->o->y();
+ int qt = qw->o->y() + qw->o->h();
+
+ if (!(qw->o->align() & FL_ALIGN_INSIDE)) {
+ // Adjust top/bottom for top/bottom labels...
+ int ww, hh;
+ ww = qw->o->w();
+ hh = qw->o->labelsize();
+ qw->o->measure_label(ww, hh);
+ if (qw->o->align() & FL_ALIGN_TOP) qy -= hh;
+ if (qw->o->align() & FL_ALIGN_BOTTOM) qt += hh;
+ }
+
+ // Do horizontal alignment when the widget is within 25
// pixels vertically...
- if (fl_min(abs(qw->o->y() - mysel->o->y() - mysel->o->h()),
- abs(mysel->o->y() - qw->o->y() - qw->o->h())) < 50) {
+ if (fl_min(abs(qy - mysel->o->y() - mysel->o->h()),
+ abs(mysel->o->y() - qt)) < 25) {
// Align to left of other widget...
- if ((drag & (LEFT | DRAG)) && abs(d = mybx - qw->o->x()) < 5) {
+ if ((drag & (LEFT | DRAG)) && abs(d = mybx - qx) < 3) {
dx += d;
mybx += d;
if (drag & DRAG) mybr += d;
@@ -745,7 +764,7 @@ void Fl_Window_Type::draw_overlay() {
// Align to right of other widget...
if ((drag & (RIGHT | DRAG)) &&
- abs(d = qw->o->x() + qw->o->w() - mybr) < 5) {
+ abs(d = qr - mybr) < 3) {
dx += d;
if (drag & DRAG) mybx += d;
mybr += d;
@@ -755,7 +774,7 @@ void Fl_Window_Type::draw_overlay() {
}
// Align to top of other widget...
- if ((drag & (TOP | DRAG)) && abs(d = myby - qw->o->y()) < 5) {
+ if ((drag & (TOP | DRAG)) && abs(d = myby - qy) < 3) {
dy += d;
myby += d;
if (drag & DRAG) mybt += d;
@@ -764,7 +783,7 @@ void Fl_Window_Type::draw_overlay() {
}
// Align to bottom of other widget...
- if ((drag & (BOTTOM | DRAG)) && abs(d = qw->o->y() + qw->o->h() - mybt) < 5) {
+ if ((drag & (BOTTOM | DRAG)) && abs(d = qt - mybt) < 3) {
dy += d;
if (drag & DRAG) myby += d;
mybt += d;
@@ -776,118 +795,118 @@ void Fl_Window_Type::draw_overlay() {
if (mysel->is_group()) mysel->ideal_spacing(xsp, ysp);
else qw->ideal_spacing(xsp, ysp);
- if ((qw->o->y()+qw->o->h())>=myby && qw->o->y()<=mybt) {
+ if ((qt)>=myby && qy<=mybt) {
if (drag & (LEFT | DRAG)) {
// Compare left of selected to left of current
- if (abs(d = qw->o->x() - mybx - xsp) >= 5)
- d = qw->o->x() - mybx + xsp;
+ if (abs(d = qx - mybx - xsp) >= 3)
+ d = qx - mybx + xsp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dx += d;
mybx += d;
if (drag & DRAG) mybr += d;
// Draw left arrow
- draw_h_arrow(mybx, (myby+mybt)/2, qw->o->x());
+ draw_h_arrow(mybx, (myby+mybt)/2, qx);
}
// Compare left of selected to right of current
- if (abs(d = qw->o->x() + qw->o->w() - mybx - xsp) >= 5)
- d = qw->o->x() + qw->o->w() - mybx + xsp;
+ if (abs(d = qr - mybx - xsp) >= 3)
+ d = qr - mybx + xsp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dx += d;
mybx += d;
if (drag & DRAG) mybr += d;
// Draw left arrow
- draw_h_arrow(mybx, (myby+mybt)/2, qw->o->x() + qw->o->w());
+ draw_h_arrow(mybx, (myby+mybt)/2, qr);
}
}
if (drag & (RIGHT | DRAG)) {
// Compare right of selected to left of current
- if (abs(d = qw->o->x() - mybr - xsp) >= 5)
- d = qw->o->x() - mybr + xsp;
+ if (abs(d = qx - mybr - xsp) >= 3)
+ d = qx - mybr + xsp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dx += d;
if (drag & DRAG) mybx += d;
mybr += d;
// Draw right arrow
- draw_h_arrow(mybr, (myby+mybt)/2, qw->o->x());
+ draw_h_arrow(mybr, (myby+mybt)/2, qx);
}
// Compare right of selected to right of current
- if (abs(d = qw->o->x() + qw->o->w() - mybr + xsp) >= 5)
- d = qw->o->x() + qw->o->w() - mybr - xsp;
+ if (abs(d = qr - mybr + xsp) >= 3)
+ d = qr - mybr - xsp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dx += d;
if (drag & DRAG) mybx += d;
mybr += d;
// Draw right arrow
- draw_h_arrow(mybr, (myby+mybt)/2, qw->o->x() + qw->o->w());
+ draw_h_arrow(mybr, (myby+mybt)/2, qr);
}
}
}
- if ((qw->o->x()+qw->o->w())>=mybx && qw->o->x()<=mybr) {
+ if (qr>=mybx && qx<=mybr) {
// Compare top of selected to top of current
if (drag & (TOP | DRAG)) {
- if (abs(d = qw->o->y() - myby - ysp) >= 5)
- d = qw->o->y() - myby + ysp;
+ if (abs(d = qy - myby - ysp) >= 3)
+ d = qy - myby + ysp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dy += d;
myby += d;
if (drag & DRAG) mybt += d;
// Draw up arrow...
- draw_v_arrow((mybx+mybr)/2, myby, qw->o->y());
+ draw_v_arrow((mybx+mybr)/2, myby, qy);
}
// Compare top of selected to bottom of current
- if (abs(d = qw->o->y() + qw->o->h() - myby - ysp) >= 5)
- d = qw->o->y() + qw->o->h() - myby + ysp;
+ if (abs(d = qt - myby - ysp) >= 3)
+ d = qt - myby + ysp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dy += d;
myby += d;
if (drag & DRAG) mybt += d;
// Draw up arrow...
- draw_v_arrow((mybx+mybr)/2, myby, qw->o->y()+qw->o->h());
+ draw_v_arrow((mybx+mybr)/2, myby, qt);
}
}
// Compare bottom of selected to top of current
if (drag & (BOTTOM | DRAG)) {
- if (abs(d = qw->o->y() - mybt - ysp) >= 5)
- d = qw->o->y() - mybt + ysp;
+ if (abs(d = qy - mybt - ysp) >= 3)
+ d = qy - mybt + ysp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dy += d;
if (drag & DRAG) myby += d;
mybt += d;
// Draw down arrow...
- draw_v_arrow((mybx+mybr)/2, mybt, qw->o->y());
+ draw_v_arrow((mybx+mybr)/2, mybt, qy);
}
// Compare bottom of selected to bottom of current
- if (abs(d = qw->o->y() + qw->o->h() - mybt - ysp) >= 5)
- d = qw->o->y() + qw->o->h() - mybt + ysp;
+ if (abs(d = qt - mybt - ysp) >= 3)
+ d = qt - mybt + ysp;
- if (abs(d) < 5) {
+ if (abs(d) < 3) {
dy += d;
if (drag & DRAG) myby += d;
mybt += d;
// Draw down arrow...
- draw_v_arrow((mybx+mybr)/2, mybt, qw->o->y() + qw->o->h());
+ draw_v_arrow((mybx+mybr)/2, mybt, qt);
}
}
}
@@ -967,7 +986,7 @@ void Fl_Window_Type::moveallchildren()
o->redraw();
recalc = 1;
((Overlay_Window *)(this->o))->redraw_overlay();
- modflag = 1;
+ set_modflag(1);
dx = dy = 0;
update_xywh();