@@ -87,6 +87,10 @@ void cScrollbar::setWheelEventRect(rectangle rect) {
|
|||||||
this->wheel_event_rect = rect;
|
this->wheel_event_rect = rect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rectangle cScrollbar::getWheelEventRect() const {
|
||||||
|
return wheel_event_rect;
|
||||||
|
}
|
||||||
|
|
||||||
long cScrollbar::getPosition() const {
|
long cScrollbar::getPosition() const {
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
@@ -125,6 +125,7 @@ public:
|
|||||||
/// @param newStyle The new style.
|
/// @param newStyle The new style.
|
||||||
void setStyle(eScrollStyle newStyle);
|
void setStyle(eScrollStyle newStyle);
|
||||||
void setWheelEventRect(rectangle);
|
void setWheelEventRect(rectangle);
|
||||||
|
rectangle getWheelEventRect() const;
|
||||||
virtual void draw() override;
|
virtual void draw() override;
|
||||||
virtual bool handle_event(const sf::Event&) override;
|
virtual bool handle_event(const sf::Event&) override;
|
||||||
/// @copydoc cControl::getSupportedHandlers
|
/// @copydoc cControl::getSupportedHandlers
|
||||||
|
@@ -3062,6 +3062,12 @@ void start_town_edit() {
|
|||||||
shut_down_menus(2);
|
shut_down_menus(2);
|
||||||
right_sbar->hide();
|
right_sbar->hide();
|
||||||
pal_sbar->show();
|
pal_sbar->show();
|
||||||
|
rectangle pal_rect = pal_sbar->getWheelEventRect();
|
||||||
|
pal_rect.height() = 1 + TYPE_ROWS_DRAWING * 17;
|
||||||
|
pal_sbar->setWheelEventRect(pal_rect);
|
||||||
|
pal_rect = pal_sbar->getBounds();
|
||||||
|
pal_rect.height() = 1 + TYPE_ROWS_DRAWING * 17;
|
||||||
|
pal_sbar->setBounds(pal_rect);
|
||||||
set_string("Drawing mode",scenario.ter_types[current_terrain_type].name);
|
set_string("Drawing mode",scenario.ter_types[current_terrain_type].name);
|
||||||
place_location();
|
place_location();
|
||||||
// TODO this is hardcoding cave floor and grass as the only ground terrains
|
// TODO this is hardcoding cave floor and grass as the only ground terrains
|
||||||
@@ -3107,6 +3113,12 @@ void start_out_edit() {
|
|||||||
set_up_type_buttons(true);
|
set_up_type_buttons(true);
|
||||||
right_sbar->hide();
|
right_sbar->hide();
|
||||||
pal_sbar->show();
|
pal_sbar->show();
|
||||||
|
rectangle pal_rect = pal_sbar->getWheelEventRect();
|
||||||
|
pal_rect.height() = 1 + TYPE_ROWS_DRAWING * 17;
|
||||||
|
pal_sbar->setWheelEventRect(pal_rect);
|
||||||
|
pal_rect = pal_sbar->getBounds();
|
||||||
|
pal_rect.height() = 1 + TYPE_ROWS_DRAWING * 17;
|
||||||
|
pal_sbar->setBounds(pal_rect);
|
||||||
shut_down_menus(4);
|
shut_down_menus(4);
|
||||||
shut_down_menus(1);
|
shut_down_menus(1);
|
||||||
set_string("Drawing mode",scenario.ter_types[current_terrain_type].name);
|
set_string("Drawing mode",scenario.ter_types[current_terrain_type].name);
|
||||||
@@ -3125,6 +3137,12 @@ void start_out_edit() {
|
|||||||
void start_type_editing(eDrawMode mode) {
|
void start_type_editing(eDrawMode mode) {
|
||||||
right_sbar->hide();
|
right_sbar->hide();
|
||||||
pal_sbar->show();
|
pal_sbar->show();
|
||||||
|
rectangle pal_rect = pal_sbar->getWheelEventRect();
|
||||||
|
pal_rect.height() = terrain_buttons_rect.height();
|
||||||
|
pal_sbar->setWheelEventRect(pal_rect);
|
||||||
|
pal_rect = pal_sbar->getBounds();
|
||||||
|
pal_rect.height() = terrain_buttons_rect.height();
|
||||||
|
pal_sbar->setBounds(pal_rect);
|
||||||
overall_mode = MODE_EDIT_TYPES;
|
overall_mode = MODE_EDIT_TYPES;
|
||||||
// Remember non-drawing modes
|
// Remember non-drawing modes
|
||||||
scenario.editor_state.overall_mode = MODE_EDIT_TYPES;
|
scenario.editor_state.overall_mode = MODE_EDIT_TYPES;
|
||||||
|
@@ -232,20 +232,21 @@ static void init_sbar(std::shared_ptr<cScrollbar>& sbar, const std::string& name
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void init_scrollbars() {
|
static void init_scrollbars() {
|
||||||
right_sbar_rect.top = RIGHT_AREA_UL_Y - 1;
|
right_sbar_rect.top = RIGHT_AREA_UL_Y;
|
||||||
right_sbar_rect.left = RIGHT_AREA_UL_X + RIGHT_AREA_WIDTH - 1 - 16;
|
right_sbar_rect.left = RIGHT_AREA_UL_X + RIGHT_AREA_WIDTH - 1 - 16;
|
||||||
right_sbar_rect.bottom = RIGHT_AREA_UL_Y + RIGHT_AREA_HEIGHT + 1;
|
right_sbar_rect.bottom = RIGHT_AREA_UL_Y + RIGHT_AREA_HEIGHT;
|
||||||
right_sbar_rect.right = RIGHT_AREA_UL_X + RIGHT_AREA_WIDTH - 1;
|
right_sbar_rect.right = RIGHT_AREA_UL_X + RIGHT_AREA_WIDTH - 1;
|
||||||
rectangle pal_sbar_rect = terrain_buttons_rect;
|
rectangle pal_sbar_rect = terrain_buttons_rect;
|
||||||
pal_sbar_rect.offset(RIGHT_AREA_UL_X,RIGHT_AREA_UL_Y);
|
|
||||||
pal_sbar_rect.left = pal_sbar_rect.right - 16;
|
pal_sbar_rect.left = pal_sbar_rect.right - 16;
|
||||||
pal_sbar_rect.height() = 17 * 16;
|
|
||||||
|
|
||||||
rectangle const right_sbar_event_rect { 5, 287, 405, 577 };
|
rectangle right_sbar_event_rect;
|
||||||
rectangle const pal_sbar_event_rect { 5, 287, 279, 581 };
|
right_sbar_event_rect.top = RIGHT_AREA_UL_Y;
|
||||||
|
right_sbar_event_rect.left = RIGHT_AREA_UL_X;
|
||||||
|
right_sbar_event_rect.width() = RIGHT_AREA_WIDTH;
|
||||||
|
right_sbar_event_rect.height() = RIGHT_AREA_HEIGHT;
|
||||||
|
|
||||||
init_sbar(right_sbar, "right_sbar", right_sbar_rect, right_sbar_event_rect, NRSONPAGE - 1);
|
init_sbar(right_sbar, "right_sbar", right_sbar_rect, right_sbar_event_rect, NRSONPAGE - 1);
|
||||||
init_sbar(pal_sbar, "pal_sbar", pal_sbar_rect, pal_sbar_event_rect, 16);
|
init_sbar(pal_sbar, "pal_sbar", pal_sbar_rect, terrain_buttons_rect, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_search_field() {
|
static void init_search_field() {
|
||||||
@@ -377,13 +378,13 @@ void init_scened(int argc, char* argv[]) {
|
|||||||
|
|
||||||
cen_x = 18;
|
cen_x = 18;
|
||||||
cen_y = 18;
|
cen_y = 18;
|
||||||
|
|
||||||
|
Set_up_win();
|
||||||
init_scrollbars();
|
init_scrollbars();
|
||||||
init_search_field();
|
init_search_field();
|
||||||
init_lb();
|
init_lb();
|
||||||
init_rb();
|
init_rb();
|
||||||
|
|
||||||
Set_up_win();
|
|
||||||
init_screen_locs();
|
init_screen_locs();
|
||||||
load_graphics();
|
load_graphics();
|
||||||
cDialog::init();
|
cDialog::init();
|
||||||
|
Reference in New Issue
Block a user