New scroll pane control in the dialog engine
Also: - Use a scroll pane for the credits in the about dialog, so that new credits can be added without altering other elements - Use a scroll pane for the list of sections to be deleted in the resize outdoors dialog - New cContainer superclass for controls that contain other controls - Scrollbars consider their maximum as part of their state
This commit is contained in:
@@ -96,7 +96,7 @@ bool rectangle::contains(int x, int y) {
|
||||
rectangle_size_delegate::rectangle_size_delegate(rectangle& rect, int rectangle::* first, int rectangle::* last) :
|
||||
forRect(rect), b1(first), b2(last) {}
|
||||
|
||||
rectangle_size_delegate::operator int() {
|
||||
rectangle_size_delegate::operator int() const {
|
||||
return forRect.*b2 - forRect.*b1;
|
||||
}
|
||||
|
||||
@@ -125,6 +125,26 @@ rectangle_size_delegate& rectangle_size_delegate::operator/=(int val) {
|
||||
return *this;
|
||||
}
|
||||
|
||||
rectangle_size_delegate& rectangle_size_delegate::operator=(const rectangle_size_delegate& val) {
|
||||
return operator=(int(val));
|
||||
}
|
||||
|
||||
rectangle_size_delegate& rectangle_size_delegate::operator+=(const rectangle_size_delegate& val) {
|
||||
return operator+=(int(val));
|
||||
}
|
||||
|
||||
rectangle_size_delegate& rectangle_size_delegate::operator-=(const rectangle_size_delegate& val) {
|
||||
return operator-=(int(val));
|
||||
}
|
||||
|
||||
rectangle_size_delegate& rectangle_size_delegate::operator*=(const rectangle_size_delegate& val) {
|
||||
return operator*=(int(val));
|
||||
}
|
||||
|
||||
rectangle_size_delegate& rectangle_size_delegate::operator/=(const rectangle_size_delegate& val) {
|
||||
return operator/=(int(val));
|
||||
}
|
||||
|
||||
rectangle_size_delegate rectangle::width() {
|
||||
return rectangle_size_delegate(*this, &rectangle::left, &rectangle::right);
|
||||
}
|
||||
|
||||
@@ -40,12 +40,17 @@ class rectangle_size_delegate {
|
||||
int rectangle::* b2;
|
||||
rectangle_size_delegate(rectangle& rect, int rectangle::* first, int rectangle::* last);
|
||||
public:
|
||||
operator int();
|
||||
operator int() const;
|
||||
rectangle_size_delegate& operator=(int val);
|
||||
rectangle_size_delegate& operator+=(int val);
|
||||
rectangle_size_delegate& operator-=(int val);
|
||||
rectangle_size_delegate& operator*=(int val);
|
||||
rectangle_size_delegate& operator/=(int val);
|
||||
rectangle_size_delegate& operator=(const rectangle_size_delegate& val);
|
||||
rectangle_size_delegate& operator+=(const rectangle_size_delegate& val);
|
||||
rectangle_size_delegate& operator-=(const rectangle_size_delegate& val);
|
||||
rectangle_size_delegate& operator*=(const rectangle_size_delegate& val);
|
||||
rectangle_size_delegate& operator/=(const rectangle_size_delegate& val);
|
||||
};
|
||||
|
||||
struct rectangle {
|
||||
|
||||
Reference in New Issue
Block a user