Color selector as a drop panel.
This commit is contained in:
@@ -115,7 +115,7 @@ namespace OpenRA.Widgets
|
|||||||
public override Widget Clone() { return new DropDownButtonWidget(this); }
|
public override Widget Clone() { return new DropDownButtonWidget(this); }
|
||||||
public override int UsableWidth { get { return Bounds.Width - Bounds.Height; } } /* space for button */
|
public override int UsableWidth { get { return Bounds.Width - Bounds.Height; } } /* space for button */
|
||||||
|
|
||||||
public static void ShowDropDown<T>(Widget w, IEnumerable<T> ts, Func<T, int, LabelWidget> ft)
|
public static void ShowDropPanel(Widget w, Widget panel, IEnumerable<Widget> dismissAfter, Func<bool> onDismiss)
|
||||||
{
|
{
|
||||||
var fullscreenMask = new ContainerWidget
|
var fullscreenMask = new ContainerWidget
|
||||||
{
|
{
|
||||||
@@ -123,8 +123,36 @@ namespace OpenRA.Widgets
|
|||||||
ClickThrough = false,
|
ClickThrough = false,
|
||||||
Visible = true
|
Visible = true
|
||||||
};
|
};
|
||||||
|
|
||||||
Widget.RootWidget.AddChild(fullscreenMask);
|
Widget.RootWidget.AddChild(fullscreenMask);
|
||||||
|
|
||||||
|
Action HideDropDown = () =>
|
||||||
|
{
|
||||||
|
Widget.RootWidget.Children.Remove(fullscreenMask);
|
||||||
|
Widget.RootWidget.Children.Remove(panel);
|
||||||
|
};
|
||||||
|
|
||||||
|
fullscreenMask.OnMouseDown = mi =>
|
||||||
|
{
|
||||||
|
if (onDismiss()) HideDropDown();
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
var oldBounds = panel.Bounds;
|
||||||
|
panel.Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, oldBounds.Width, oldBounds.Height);
|
||||||
|
panel.ClickThrough = false;
|
||||||
|
panel.Visible = true;
|
||||||
|
panel.OnMouseUp = mi => true;
|
||||||
|
|
||||||
|
foreach (var ww in dismissAfter)
|
||||||
|
{
|
||||||
|
var origMouseUp = ww.OnMouseUp;
|
||||||
|
ww.OnMouseUp = mi => { var result = origMouseUp(mi); if (onDismiss()) HideDropDown(); return result; };
|
||||||
|
}
|
||||||
|
Widget.RootWidget.AddChild(panel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ShowDropDown<T>(Widget w, IEnumerable<T> ts, Func<T, int, LabelWidget> ft)
|
||||||
|
{
|
||||||
var dropDown = new ScrollPanelWidget
|
var dropDown = new ScrollPanelWidget
|
||||||
{
|
{
|
||||||
Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100),
|
Bounds = new Rectangle(w.RenderOrigin.X, w.RenderOrigin.Y + w.Bounds.Height, w.Bounds.Width, 100),
|
||||||
@@ -133,28 +161,13 @@ namespace OpenRA.Widgets
|
|||||||
OnMouseUp = mi => true,
|
OnMouseUp = mi => true,
|
||||||
};
|
};
|
||||||
|
|
||||||
Widget.RootWidget.AddChild(dropDown);
|
|
||||||
|
|
||||||
Action HideDropDown = () =>
|
|
||||||
{
|
|
||||||
Widget.RootWidget.Children.Remove(fullscreenMask);
|
|
||||||
Widget.RootWidget.Children.Remove(dropDown);
|
|
||||||
};
|
|
||||||
|
|
||||||
fullscreenMask.OnMouseDown = mi =>
|
|
||||||
{
|
|
||||||
HideDropDown();
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
var y = 0;
|
var y = 0;
|
||||||
List<LabelWidget> items = new List<LabelWidget>();
|
List<LabelWidget> items = new List<LabelWidget>();
|
||||||
|
List<Widget> dismissAfter = new List<Widget>();
|
||||||
foreach (var t in ts)
|
foreach (var t in ts)
|
||||||
{
|
{
|
||||||
var ww = ft(t, dropDown.Bounds.Width);
|
var ww = ft(t, dropDown.Bounds.Width);
|
||||||
var origMouseUp = ww.OnMouseUp;
|
dismissAfter.Add(ww);
|
||||||
ww.OnMouseUp = mi => { var result = origMouseUp(mi); HideDropDown(); return result; };
|
|
||||||
ww.ClickThrough = false;
|
ww.ClickThrough = false;
|
||||||
ww.IsVisible = () => true;
|
ww.IsVisible = () => true;
|
||||||
ww.Bounds = new Rectangle(1, y, ww.Bounds.Width, ww.Bounds.Height);
|
ww.Bounds = new Rectangle(1, y, ww.Bounds.Width, ww.Bounds.Height);
|
||||||
@@ -175,6 +188,7 @@ namespace OpenRA.Widgets
|
|||||||
|
|
||||||
dropDown.ContentHeight = y;
|
dropDown.ContentHeight = y;
|
||||||
dropDown.Bounds.Height = y + 2;
|
dropDown.Bounds.Height = y + 2;
|
||||||
|
ShowDropPanel(w,dropDown, dismissAfter, () => true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -41,6 +41,8 @@ namespace OpenRA
|
|||||||
public Widget LoadWidget( Dictionary<string, object> args, Widget parent, MiniYamlNode node)
|
public Widget LoadWidget( Dictionary<string, object> args, Widget parent, MiniYamlNode node)
|
||||||
{
|
{
|
||||||
var widget = NewWidget(node.Key, args);
|
var widget = NewWidget(node.Key, args);
|
||||||
|
|
||||||
|
if (parent != null)
|
||||||
parent.AddChild( widget );
|
parent.AddChild( widget );
|
||||||
|
|
||||||
foreach (var child in node.Value.Nodes)
|
foreach (var child in node.Value.Nodes)
|
||||||
|
|||||||
@@ -140,25 +140,6 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
chatLabel.Text = (teamChat) ? "Team:" : "Chat:";
|
chatLabel.Text = (teamChat) ? "Team:" : "Chat:";
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
var colorChooser = lobby.GetWidget("COLOR_CHOOSER");
|
|
||||||
var hueSlider = colorChooser.GetWidget<SliderWidget>("HUE_SLIDER");
|
|
||||||
var satSlider = colorChooser.GetWidget<SliderWidget>("SAT_SLIDER");
|
|
||||||
var lumSlider = colorChooser.GetWidget<SliderWidget>("LUM_SLIDER");
|
|
||||||
var rangeSlider = colorChooser.GetWidget<SliderWidget>("RANGE_SLIDER");
|
|
||||||
|
|
||||||
hueSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
satSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
lumSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
rangeSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
|
|
||||||
colorChooser.GetWidget<ButtonWidget>("BUTTON_OK").OnMouseUp = mi =>
|
|
||||||
{
|
|
||||||
colorChooser.IsVisible = () => false;
|
|
||||||
UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
UpdatePlayerColor(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdatePlayerColor(float hf, float sf, float lf, float r)
|
void UpdatePlayerColor(float hf, float sf, float lf, float r)
|
||||||
@@ -216,7 +197,7 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
return orderManager.LobbyInfo.ClientInSlot( slot );
|
return orderManager.LobbyInfo.ClientInSlot( slot );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowDropDown(Session.Slot slot, ButtonWidget name, bool showBotOptions)
|
bool ShowSlotDropDown(Session.Slot slot, ButtonWidget name, bool showBotOptions)
|
||||||
{
|
{
|
||||||
var dropDownOptions = new List<Pair<string, Action>>
|
var dropDownOptions = new List<Pair<string, Action>>
|
||||||
{
|
{
|
||||||
@@ -242,12 +223,13 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
Text = " {0}".F(ac.First),
|
Text = " {0}".F(ac.First),
|
||||||
OnMouseUp = mi => { ac.Second(); return true; },
|
OnMouseUp = mi => { ac.Second(); return true; },
|
||||||
});
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowRaceDropDown(Session.Slot s, ButtonWidget race)
|
bool ShowRaceDropDown(Session.Slot s, ButtonWidget race)
|
||||||
{
|
{
|
||||||
if (Map.Players[s.MapPlayer].LockRace)
|
if (Map.Players[s.MapPlayer].LockRace)
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
var dropDownOptions = new List<Pair<string, Action>>();
|
var dropDownOptions = new List<Pair<string, Action>>();
|
||||||
foreach (var c in CountryNames)
|
foreach (var c in CountryNames)
|
||||||
@@ -276,9 +258,10 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
});
|
});
|
||||||
return ret;
|
return ret;
|
||||||
});
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShowTeamDropDown(ButtonWidget team)
|
bool ShowTeamDropDown(ButtonWidget team)
|
||||||
{
|
{
|
||||||
var dropDownOptions = new List<Pair<string, Action>>();
|
var dropDownOptions = new List<Pair<string, Action>>();
|
||||||
for (int i = 0; i <= Map.PlayerCount; i++)
|
for (int i = 0; i <= Map.PlayerCount; i++)
|
||||||
@@ -296,6 +279,39 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
Text = " {0}".F(ac.First),
|
Text = " {0}".F(ac.First),
|
||||||
OnMouseUp = mi => { ac.Second(); return true; },
|
OnMouseUp = mi => { ac.Second(); return true; },
|
||||||
});
|
});
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ShowColorDropDown(Session.Slot s, ButtonWidget color)
|
||||||
|
{
|
||||||
|
if (Map.Players[s.MapPlayer].LockColor)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var colorChooser = Game.modData.WidgetLoader.LoadWidget( new Dictionary<string,object>(), null, "COLOR_CHOOSER" );
|
||||||
|
var hueSlider = colorChooser.GetWidget<SliderWidget>("HUE_SLIDER");
|
||||||
|
hueSlider.SetOffset(orderManager.LocalClient.Color1.GetHue()/360f);
|
||||||
|
|
||||||
|
var satSlider = colorChooser.GetWidget<SliderWidget>("SAT_SLIDER");
|
||||||
|
satSlider.SetOffset(orderManager.LocalClient.Color1.GetSaturation());
|
||||||
|
|
||||||
|
var lumSlider = colorChooser.GetWidget<SliderWidget>("LUM_SLIDER");
|
||||||
|
lumSlider.SetOffset(orderManager.LocalClient.Color1.GetBrightness());
|
||||||
|
|
||||||
|
var rangeSlider = colorChooser.GetWidget<SliderWidget>("RANGE_SLIDER");
|
||||||
|
rangeSlider.SetOffset(orderManager.LocalClient.Color1.GetBrightness() == 0 ? 0 : orderManager.LocalClient.Color2.GetBrightness()/orderManager.LocalClient.Color1.GetBrightness());
|
||||||
|
|
||||||
|
hueSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
satSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
lumSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
rangeSlider.OnChange += _ => UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
|
||||||
|
DropDownButtonWidget.ShowDropPanel(color, colorChooser, new List<Widget>() {colorChooser.GetWidget("BUTTON_OK")}, () => {
|
||||||
|
UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
UpdatePlayerColor(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdatePlayerList()
|
void UpdatePlayerList()
|
||||||
@@ -322,7 +338,7 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
var btn = template.GetWidget<ButtonWidget>("JOIN");
|
var btn = template.GetWidget<ButtonWidget>("JOIN");
|
||||||
btn.GetText = () => "Spectate in this slot";
|
btn.GetText = () => "Spectate in this slot";
|
||||||
name.GetText = () => s.Closed ? "Closed" : "Open";
|
name.GetText = () => s.Closed ? "Closed" : "Open";
|
||||||
name.OnMouseDown = _ => { ShowDropDown(s, name, false); return true; };
|
name.OnMouseDown = _ => ShowSlotDropDown(s, name, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -330,7 +346,7 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
template = EmptySlotTemplateHost.Clone();
|
template = EmptySlotTemplateHost.Clone();
|
||||||
var name = template.GetWidget<ButtonWidget>("NAME");
|
var name = template.GetWidget<ButtonWidget>("NAME");
|
||||||
name.GetText = () => s.Closed ? "Closed" : (s.Bot == null) ? "Open" : "Bot: " + s.Bot;
|
name.GetText = () => s.Closed ? "Closed" : (s.Bot == null) ? "Open" : "Bot: " + s.Bot;
|
||||||
name.OnMouseDown = _ => { ShowDropDown(s, name, Map.Players[ s.MapPlayer ].AllowBots); return true; };
|
name.OnMouseDown = _ => ShowSlotDropDown(s, name, Map.Players[ s.MapPlayer ].AllowBots);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -376,34 +392,13 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
name.OnLoseFocus = () => name.OnEnterKey();
|
name.OnLoseFocus = () => name.OnEnterKey();
|
||||||
|
|
||||||
var color = template.GetWidget<ButtonWidget>("COLOR");
|
var color = template.GetWidget<ButtonWidget>("COLOR");
|
||||||
color.OnMouseUp = mi =>
|
color.OnMouseUp = _ => ShowColorDropDown(s, color);
|
||||||
{
|
|
||||||
if (Map.Players[s.MapPlayer].LockColor)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
var colorChooser = Widget.RootWidget.GetWidget("SERVER_LOBBY").GetWidget("COLOR_CHOOSER");
|
|
||||||
var hueSlider = colorChooser.GetWidget<SliderWidget>("HUE_SLIDER");
|
|
||||||
hueSlider.SetOffset(orderManager.LocalClient.Color1.GetHue()/360f);
|
|
||||||
|
|
||||||
var satSlider = colorChooser.GetWidget<SliderWidget>("SAT_SLIDER");
|
|
||||||
satSlider.SetOffset(orderManager.LocalClient.Color1.GetSaturation());
|
|
||||||
|
|
||||||
var lumSlider = colorChooser.GetWidget<SliderWidget>("LUM_SLIDER");
|
|
||||||
lumSlider.SetOffset(orderManager.LocalClient.Color1.GetBrightness());
|
|
||||||
|
|
||||||
var rangeSlider = colorChooser.GetWidget<SliderWidget>("RANGE_SLIDER");
|
|
||||||
rangeSlider.SetOffset(orderManager.LocalClient.Color1.GetBrightness() == 0 ? 0 : orderManager.LocalClient.Color2.GetBrightness()/orderManager.LocalClient.Color1.GetBrightness());
|
|
||||||
|
|
||||||
UpdateColorPreview(hueSlider.GetOffset(), satSlider.GetOffset(), lumSlider.GetOffset(), rangeSlider.GetOffset());
|
|
||||||
colorChooser.IsVisible = () => true;
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
var colorBlock = color.GetWidget<ColorBlockWidget>("COLORBLOCK");
|
var colorBlock = color.GetWidget<ColorBlockWidget>("COLORBLOCK");
|
||||||
colorBlock.GetColor = () => c.Color1;
|
colorBlock.GetColor = () => c.Color1;
|
||||||
|
|
||||||
var faction = template.GetWidget<ButtonWidget>("FACTION");
|
var faction = template.GetWidget<ButtonWidget>("FACTION");
|
||||||
faction.OnMouseDown = _ => {ShowRaceDropDown(s, faction); return true;};
|
faction.OnMouseDown = _ => ShowRaceDropDown(s, faction);
|
||||||
|
|
||||||
var factionname = faction.GetWidget<LabelWidget>("FACTIONNAME");
|
var factionname = faction.GetWidget<LabelWidget>("FACTIONNAME");
|
||||||
factionname.GetText = () => CountryNames[c.Country];
|
factionname.GetText = () => CountryNames[c.Country];
|
||||||
@@ -412,7 +407,7 @@ namespace OpenRA.Widgets.Delegates
|
|||||||
factionflag.GetImageCollection = () => "flags";
|
factionflag.GetImageCollection = () => "flags";
|
||||||
|
|
||||||
var team = template.GetWidget<ButtonWidget>("TEAM");
|
var team = template.GetWidget<ButtonWidget>("TEAM");
|
||||||
team.OnMouseDown = _ => {ShowTeamDropDown(team); return true;};
|
team.OnMouseDown = _ => ShowTeamDropDown(team);
|
||||||
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
|
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
|
||||||
|
|
||||||
var status = template.GetWidget<CheckboxWidget>("STATUS");
|
var status = template.GetWidget<CheckboxWidget>("STATUS");
|
||||||
|
|||||||
@@ -336,89 +336,80 @@ Background@SERVER_LOBBY:
|
|||||||
Text: Lock Teams
|
Text: Lock Teams
|
||||||
Background@COLOR_CHOOSER:
|
Background@COLOR_CHOOSER:
|
||||||
Id:COLOR_CHOOSER
|
Id:COLOR_CHOOSER
|
||||||
Width:500
|
Background:dialog2
|
||||||
Height:195
|
Width:310
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2 - PARENT_LEFT
|
Height:120
|
||||||
Y:100
|
|
||||||
Visible:false
|
Visible:false
|
||||||
Children:
|
Children:
|
||||||
Button@BUTTON_OK:
|
Button@BUTTON_OK:
|
||||||
Id:BUTTON_OK
|
Id:BUTTON_OK
|
||||||
X:PARENT_RIGHT - 180
|
X:210
|
||||||
Y:PARENT_BOTTOM - 45
|
Y:85
|
||||||
Width:160
|
Width:90
|
||||||
Height:25
|
Height:25
|
||||||
Text:Ok
|
Text:Ok
|
||||||
Bold:True
|
Bold:True
|
||||||
ShpImage@MCV:
|
|
||||||
Id:MCV
|
|
||||||
X:PARENT_RIGHT - 90
|
|
||||||
Y:20
|
|
||||||
Image:mcv
|
|
||||||
Frame:8
|
|
||||||
Palette:colorpicker
|
|
||||||
ShpImage@FACT:
|
ShpImage@FACT:
|
||||||
Id:FACT
|
Id:FACT
|
||||||
X:PARENT_RIGHT - 100
|
X:220
|
||||||
Y:70
|
Y:10
|
||||||
Image:fact
|
Image:fact
|
||||||
Palette:colorpicker
|
Palette:colorpicker
|
||||||
Label@HUE_LABEL:
|
Label@HUE_LABEL:
|
||||||
X:0
|
X:0
|
||||||
Y:30
|
Y:5
|
||||||
Width:110
|
Width:40
|
||||||
Height:20
|
Height:20
|
||||||
Align: Right
|
Align: Right
|
||||||
Text: Hue:
|
Text: Hue:
|
||||||
Slider@HUE:
|
Slider@HUE:
|
||||||
Id:HUE_SLIDER
|
Id:HUE_SLIDER
|
||||||
X:120
|
X:43
|
||||||
Y:30
|
Y:10
|
||||||
Width:260
|
Width:160
|
||||||
Height:20
|
Height:20
|
||||||
Ticks:5
|
Ticks:5
|
||||||
Label@SAT_LABEL:
|
Label@SAT_LABEL:
|
||||||
X:0
|
X:0
|
||||||
Y:60
|
Y:30
|
||||||
Width:110
|
Width:40
|
||||||
Height:20
|
Height:20
|
||||||
Align: Right
|
Align: Right
|
||||||
Text: Saturation:
|
Text: Sat:
|
||||||
Slider@SAT:
|
Slider@SAT:
|
||||||
Id:SAT_SLIDER
|
Id:SAT_SLIDER
|
||||||
X:120
|
X:43
|
||||||
Y:60
|
Y:35
|
||||||
Width:260
|
Width:160
|
||||||
Height:20
|
Height:20
|
||||||
Ticks:5
|
Ticks:5
|
||||||
Label@LUM_LABEL:
|
Label@LUM_LABEL:
|
||||||
X:0
|
X:0
|
||||||
Y:90
|
Y:55
|
||||||
Width:110
|
Width:40
|
||||||
Height:20
|
Height:20
|
||||||
Align: Right
|
Align: Right
|
||||||
Text: Brightness:
|
Text: Lum:
|
||||||
Slider@LUM:
|
Slider@LUM:
|
||||||
Id:LUM_SLIDER
|
Id:LUM_SLIDER
|
||||||
X:120
|
X:43
|
||||||
Id:LUM_SLIDER
|
Y:60
|
||||||
Y:90
|
Width:160
|
||||||
Width:260
|
|
||||||
Height:20
|
Height:20
|
||||||
Ticks:5
|
Ticks:5
|
||||||
Range:0.2,1
|
Range:0.2,1
|
||||||
Label@RANGE_LABEL:
|
Label@RANGE_LABEL:
|
||||||
X:0
|
X:0
|
||||||
Y:120
|
Y:80
|
||||||
Width:110
|
Width:40
|
||||||
Height:20
|
Height:20
|
||||||
Align: Right
|
Align: Right
|
||||||
Text: Range:
|
Text: Ran:
|
||||||
Slider@RANGE:
|
Slider@RANGE:
|
||||||
Id:RANGE_SLIDER
|
Id:RANGE_SLIDER
|
||||||
X:120
|
X:43
|
||||||
Y:120
|
Y:85
|
||||||
Width:260
|
Width:160
|
||||||
Height:20
|
Height:20
|
||||||
Ticks:5
|
Ticks:5
|
||||||
Range:0,0.25
|
Range:0,0.25
|
||||||
|
|||||||
Reference in New Issue
Block a user