Make the length of the slide area configurable for WML.
Converted the sliders in the new editor to use this feature.
This commit is contained in:
parent
0c918613e2
commit
d53d754e32
5 changed files with 44 additions and 10 deletions
|
@ -51,11 +51,12 @@
|
|||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
[slider]
|
||||
id = "width"
|
||||
definition = "default"
|
||||
minimum_value = 1
|
||||
maximum_value = 200
|
||||
step_size = 1
|
||||
id = "width"
|
||||
definition = "default"
|
||||
best_slider_length = 200
|
||||
minimum_value = 1
|
||||
maximum_value = 200
|
||||
step_size = 1
|
||||
[/slider]
|
||||
[/column]
|
||||
[/row]
|
||||
|
@ -77,11 +78,12 @@
|
|||
border_size = 5
|
||||
horizontal_alignment = "left"
|
||||
[slider]
|
||||
id = "height"
|
||||
definition = "default"
|
||||
minimum_value = 1
|
||||
maximum_value = 200
|
||||
step_size = 1
|
||||
id = "height"
|
||||
definition = "default"
|
||||
best_slider_length = 200
|
||||
minimum_value = 1
|
||||
maximum_value = 200
|
||||
step_size = 1
|
||||
[/slider]
|
||||
[/column]
|
||||
[/row]
|
||||
|
|
|
@ -114,6 +114,23 @@ void tslider::set_maximum_value(const int maximum_value)
|
|||
}
|
||||
}
|
||||
|
||||
tpoint tslider::get_best_size() const
|
||||
{
|
||||
// Inherited.
|
||||
tpoint size = tcontrol::get_best_size();
|
||||
if(best_slider_length_ == 0) {
|
||||
return size;
|
||||
}
|
||||
|
||||
// Override length.
|
||||
const tslider_definition::tresolution* conf =
|
||||
dynamic_cast<const tslider_definition::tresolution*>(config());
|
||||
assert(conf);
|
||||
|
||||
size.x = conf->left_offset + best_slider_length_ + conf->right_offset;
|
||||
return size;
|
||||
}
|
||||
|
||||
t_string tslider::get_value_label() const
|
||||
{
|
||||
if(!value_labels_.empty()) {
|
||||
|
|
|
@ -26,6 +26,7 @@ public:
|
|||
|
||||
tslider() :
|
||||
tscrollbar_(),
|
||||
best_slider_length_(0),
|
||||
minimum_value_(0)
|
||||
{
|
||||
}
|
||||
|
@ -53,8 +54,14 @@ public:
|
|||
// The number of items needs to include the begin and end so count - 1.
|
||||
{ return minimum_value_ + get_item_count() - 1; }
|
||||
|
||||
/** Inherited from tcontrol. */
|
||||
tpoint get_best_size() const;
|
||||
|
||||
/***** ***** ***** setters / getters for members ***** ****** *****/
|
||||
|
||||
void set_best_slider_length(const unsigned length)
|
||||
{ best_slider_length_ = length; set_dirty(); }
|
||||
|
||||
void set_minimum_value_label(const t_string& minimum_value_label)
|
||||
{ minimum_value_label_ = minimum_value_label; }
|
||||
|
||||
|
@ -75,6 +82,9 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
/** The best size for the slider part itself, if 0 ignored. */
|
||||
unsigned best_slider_length_;
|
||||
|
||||
/**
|
||||
* The minimum value the slider holds.
|
||||
*
|
||||
|
|
|
@ -929,6 +929,7 @@ twidget* tbuilder_panel::build() const
|
|||
|
||||
tbuilder_slider::tbuilder_slider(const config& cfg) :
|
||||
tbuilder_control(cfg),
|
||||
best_slider_length_(lexical_cast_default<unsigned>(cfg["best_slider_length"])),
|
||||
minimum_value_(lexical_cast_default<unsigned>(cfg["minimum_value"])),
|
||||
maximum_value_(lexical_cast_default<unsigned>(cfg["maximum_value"])),
|
||||
step_size_(lexical_cast_default<unsigned>(cfg["step_size"])),
|
||||
|
@ -944,6 +945,8 @@ tbuilder_slider::tbuilder_slider(const config& cfg) :
|
|||
* == Slider ==
|
||||
*
|
||||
* @start_table = config
|
||||
* best_slider_length (unsigned = 0)
|
||||
* The best length for the sliding part.
|
||||
* minimum_value (unsigned = 0) The width of the slider.
|
||||
* maximum_value (unsigned = 0) The height of the slider.
|
||||
*
|
||||
|
@ -988,6 +991,7 @@ twidget* tbuilder_slider::build() const
|
|||
|
||||
init_control(slider);
|
||||
|
||||
slider->set_best_slider_length(best_slider_length_);
|
||||
slider->set_maximum_value(maximum_value_);
|
||||
slider->set_minimum_value(minimum_value_);
|
||||
slider->set_step_size(step_size_);
|
||||
|
|
|
@ -190,6 +190,7 @@ public:
|
|||
twidget* build () const;
|
||||
|
||||
private:
|
||||
unsigned best_slider_length_;
|
||||
int minimum_value_;
|
||||
int maximum_value_;
|
||||
int step_size_;
|
||||
|
|
Loading…
Add table
Reference in a new issue