1
0
Fork 0

Theme rework.

Change fonts; make use of the new feature to allow fonts to be specified using property from dialog xml.

Ensure that all fonts are defined within the style.
This commit is contained in:
Richard Harrison 2017-11-12 16:55:25 +01:00
parent eabece0148
commit 08fd851489
18 changed files with 516 additions and 426 deletions

BIN
Fonts/accid.txf Normal file

Binary file not shown.

Binary file not shown.

View file

@ -157,23 +157,23 @@ var dialog = {
me.toggle_unit(); # set to imperial me.toggle_unit(); # set to imperial
# #
# "private" # "private"
var font = ""; me.font = { name: getprop("/sim/gui/selected-style/fonts/mp-list/name") or "FIXED_8x13",
if (getprop("/sim/gui/current-syle")) size: getprop("/sim/gui/selected-style/fonts/mp-list/size") or 20,
font = {name: "FIXED_8x13" }; slant: getprop("/sim/gui/selected-style/fonts/mp-list/slant") or 0,
else };
font = { name: "AvantGarde-Demi.txf"};
me.header = ["chat", " callsign"," code"," model", " brg", func dialog.dist_hdr, func dialog.alt_hdr ~ " ", "ignore" ~ " "]; me.header = ["chat", " callsign"," code"," model", " brg", func dialog.dist_hdr, func dialog.alt_hdr ~ " ", "ver", "ignore" ~ " "];
me.columns = [ me.columns = [
{ type: "button", legend: "", halign: "right", callback: "multiplayer.compose_message", "pref-height": 14, "pref-width": 14 }, { type: "button", legend: "", halign: "right", callback: "multiplayer.compose_message", "pref-height": 14, "pref-width": 14 },
{ type: "text", property: "callsign", format: " %s", label: "-----------", halign: "fill" , font: font }, { type: "text", property: "callsign", format: " %s", label: "-----------", halign: "fill" , font: me.font },
{ type: "text", property: "id-code", format: " %s", label: "-----", halign: "fill" , font: font }, { type: "text", property: "id-code", format: " %s", label: "-----", halign: "fill" , font: me.font },
{ type: "text", property: "model-short", format: "%s", label: "--------------", halign: "fill" , font: font }, { type: "text", property: "model-short", format: " %s", label: "--------------", halign: "fill" , font: me.font },
{ type: "text", property: "bearing-to", format: " %3.0f", label: "----", halign: "right", font: font }, { type: "text", property: "bearing-to", format: " %3.0f", label: "----", halign: "right", font: me.font },
{ type: "text", property: func dialog.dist_node, format:" %8.2f", label: "---------", halign: "right", font: font }, { type: "text", property: func dialog.dist_node, format:" %8.2f", label: "---------", halign: "right", font: me.font },
{ type: "text", property: func dialog.alt_node, format:" %7.0f", label: "---------", halign: "right", font: font }, { type: "text", property: func dialog.alt_node, format:" %7.0f", label: "---------", halign: "right", font: me.font },
{ type: "text", property: "sim/multiplay/protocol-version", format: " %s", label: "--", halign: "fill" , font: me.font },
{ type: "checkbox", property: "controls/invisible", callback: "multiplayer.dialog.toggle_ignore", { type: "checkbox", property: "controls/invisible", callback: "multiplayer.dialog.toggle_ignore",
argprop: "callsign", label: "---------", halign: "right", font: font }, argprop: "callsign", label: "---------", halign: "right", font: me.font },
]; ];
me.cs_warnings = {}; me.cs_warnings = {};
me.name = "who-is-online"; me.name = "who-is-online";
@ -193,6 +193,7 @@ var dialog = {
me.dialog = gui.dialog[me.name] = gui.Widget.new(); me.dialog = gui.dialog[me.name] = gui.Widget.new();
me.dialog.set("name", me.name); me.dialog.set("name", me.name);
me.dialog.set("dialog-name", me.name); me.dialog.set("dialog-name", me.name);
me.dialog.set("font", me.font.name);
if (me.x != nil) if (me.x != nil)
me.dialog.set("x", me.x); me.dialog.set("x", me.x);
if (me.y != nil) if (me.y != nil)
@ -233,6 +234,8 @@ var dialog = {
var col = 0; var col = 0;
foreach (var h; me.header) { foreach (var h; me.header) {
var w = content.addChild("text"); var w = content.addChild("text");
w.node.setValues({ "font" : me.font});
var l = typeof(h) == "func" ? h() : h; var l = typeof(h) == "func" ? h() : h;
w.node.setValues({ "label": l, "row": row, "col": col, halign: me.columns[col].halign }); w.node.setValues({ "label": l, "row": row, "col": col, halign: me.columns[col].halign });
w = content.addChild("hrule"); w = content.addChild("hrule");

View file

@ -30,8 +30,8 @@ var sanitize = func(s, newline = 0) {
var theme_font = nil; var theme_font = getprop("/sim/gui/selected-style/fonts/message-display/name") or "HELVETICA_14";
var theme_fontsize = getprop("/sim/gui/selected-style/fonts/message-display/size") or 13;
# screen.window # screen.window
@ -133,10 +133,11 @@ var window = {
me.dialog.set("y", me.y); me.dialog.set("y", me.y);
me.dialog.set("layout", "vbox"); me.dialog.set("layout", "vbox");
me.dialog.set("default-padding", 2); me.dialog.set("default-padding", 2);
if (me.font != nil) if (me.font != nil)
me.dialog.setFont(me.font); me.dialog.setFont(me.font, me.fontsize);
elsif (theme_font != nil) elsif (theme_font != nil)
me.dialog.setFont(theme_font); me.dialog.setFont(theme_font, theme_fontsize);
me.dialog.setColor(me.bg[0], me.bg[1], me.bg[2], me.bg[3]); me.dialog.setColor(me.bg[0], me.bg[1], me.bg[2], me.bg[3]);
@ -209,7 +210,7 @@ var window = {
# #
# var dpy = screen.display.new(20, 10); # x/y coordinate # var dpy = screen.display.new(20, 10); # x/y coordinate
# dpy.setcolor(1, 0, 1); # magenta (default: white) # dpy.setcolor(1, 0, 1); # magenta (default: white)
# dpy.setfont("SANS_12B"); # see $FG_ROOT/gui/styles/*.xml # dpy.setfont("SANS_12B",12); # see $FG_ROOT/gui/styles/*.xml
# #
# dpy.add("/position/latitude-deg", "/position/longitude-deg"); # dpy.add("/position/latitude-deg", "/position/longitude-deg");
# dpy.add(props.globals.getNode("/orientation").getChildren()); # dpy.add(props.globals.getNode("/orientation").getChildren());
@ -244,7 +245,8 @@ var display = {
m.x = x; m.x = x;
m.y = y; m.y = y;
m.tags = show_tags; m.tags = show_tags;
m.font = "HELVETICA_14"; m.font = getprop("/sim/gui/selected-style/fonts/message-display/name") or "HELVETICA_14";
m.fontsize = getprop("/sim/gui/selected-style/fonts/message-display/size") or 13;
m.color = [1, 1, 1, 1]; m.color = [1, 1, 1, 1];
m.tagformat = "%s"; m.tagformat = "%s";
m.format = "%.12g"; m.format = "%.12g";
@ -266,8 +268,9 @@ var display = {
me.redraw(); me.redraw();
me; me;
}, },
setfont : func(font) { setfont : func(font, size=13) {
me.font = font; me.font = font;
me.fontsize = size;
me.redraw(); me.redraw();
me; me;
}, },
@ -278,7 +281,7 @@ var display = {
me.dialog.set("y", me.y); me.dialog.set("y", me.y);
me.dialog.set("layout", "vbox"); me.dialog.set("layout", "vbox");
me.dialog.set("default-padding", 2); me.dialog.set("default-padding", 2);
me.dialog.setFont(me.font); me.dialog.setFont(me.font, me.fontsize);
me.dialog.setColor(0, 0, 0, 0); me.dialog.setColor(0, 0, 0, 0);
foreach (var e; me.entries) { foreach (var e; me.entries) {
@ -416,8 +419,7 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
}); });
setlistener("/sim/gui/current-style", func { setlistener("/sim/gui/current-style", func {
var theme = getprop("/sim/gui/current-style"); theme_font = getprop("/sim/gui/selected-style/fonts/message-display/name");
theme_font = getprop("/sim/gui/style[" ~ theme ~ "]/fonts/message-display/name");
}, 1); }, 1);
log = window.new(nil, -30, 10, 10); log = window.new(nil, -30, 10, 10);

View file

@ -44,6 +44,18 @@ var trim = func(s, lr = 0, istrim = nil) {
return r < l ? "" : substr(s, l, r - l + 1); return r < l ? "" : substr(s, l, r - l + 1);
} }
##
# truncate at the first match
#
# string.truncateAt("file.xml", ".xml"); # "file.xml" -> "file"
# string.truncateAt("file.xml", ".txt"); # "file.xml" -> "file.xml"
#
var truncateAt = func(src, match){
var pos = find(match,src);
if (pos>=0)
return substr(src,0,pos);
return src;
}
## ##
# return string converted to lower case letters # return string converted to lower case letters

View file

@ -8,7 +8,7 @@
<draggable>false</draggable> <draggable>false</draggable>
<default-padding>1</default-padding> <default-padding>1</default-padding>
<font> <font>
<name>HELVETICA_12</name> <property>sim/gui/selected-style/fonts/gui-small</property>
</font> </font>
<color> <color>
<red>0</red> <red>0</red>

View file

@ -81,7 +81,7 @@
<alpha>1</alpha> <alpha>1</alpha>
</color-legend> </color-legend>
<font> <font>
<name>FIXED_9x15</name> <property>sim/gui/selected-style/fonts/gui-small</property>
</font> </font>
</input> </input>

View file

@ -62,7 +62,7 @@
<editable>falsee</editable> <editable>falsee</editable>
<wrap>false</wrap> <wrap>false</wrap>
<font> <font>
<name>FIXED_8x13</name> <property>sim/gui/selected-style/fonts/fixed</property>
</font> </font>
<property>/sim/gui/dialogs/doc-browser/edit</property> <property>/sim/gui/dialogs/doc-browser/edit</property>
</textbox> </textbox>

View file

@ -7,7 +7,7 @@
<layout>hbox</layout> <layout>hbox</layout>
<default-padding>2</default-padding> <default-padding>2</default-padding>
<font> <font>
<name>HELVETICA_12</name> <property>sim/gui/selected-style/fonts/gui-small</property>
</font> </font>
<color> <color>
<red>0</red> <red>0</red>

View file

@ -7,7 +7,7 @@
<layout>hbox</layout> <layout>hbox</layout>
<default-padding>0</default-padding> <default-padding>0</default-padding>
<font> <font>
<name>HELVETICA_12</name> <property>sim/gui/selected-style/fonts/gui-small</property>
</font> </font>
<color> <color>
<red>0</red> <red>0</red>

View file

@ -62,7 +62,7 @@
<alpha>1</alpha> <alpha>1</alpha>
</color> </color>
<font> <font>
<name>HELVETICA_14</name> <property>sim/gui/selected-style/fonts/gui-large</property>
</font> </font>
</text> </text>

View file

@ -62,7 +62,7 @@
<alpha>1</alpha> <alpha>1</alpha>
</color> </color>
<font> <font>
<name>HELVETICA_14</name> <property>sim/gui/selected-style/fonts/gui-large</property>
</font> </font>
</text> </text>

View file

@ -62,7 +62,7 @@
<alpha>1</alpha> <alpha>1</alpha>
</color> </color>
<font> <font>
<name>HELVETICA_14</name> <property>sim/gui/selected-style/fonts/model-view</property>
</font> </font>
</text> </text>

View file

@ -45,7 +45,7 @@
<editable>true</editable> <editable>true</editable>
<wrap>false</wrap> <wrap>false</wrap>
<font> <font>
<name>AvantGarde-Book.txf</name> <property>sim/gui/selected-style/fonts/nasal-editor</property>
</font> </font>
<property>/sim/gui/dialogs/nasal-console/edit</property> <property>/sim/gui/dialogs/nasal-console/edit</property>
<binding> <binding>

View file

@ -102,7 +102,7 @@
<text> <text>
<font> <font>
<name>SANS_12B</name> <property>sim/gui/selected-style/fonts/replay</property>
</font> </font>
<label>REPLAY</label> <label>REPLAY</label>
<color> <color>
@ -516,23 +516,6 @@
<blue>0.3</blue> <blue>0.3</blue>
<alpha>0.8</alpha> <alpha>0.8</alpha>
</color> </color>
<visible>
<and>
<not><property>/sim/replay/disable-my-controls</property></not>
<or>
<equals>
<property>/sim/flight-model</property>
<value>yasim</value>
</equals>
<!-- Not supported yet...
<equals>
<property>/sim/flight-model</property>
<value>jsb</value>
</equals>
-->
</or>
</and>
</visible>
<pref-width>90</pref-width> <pref-width>90</pref-width>
<binding> <binding>
<command>property-assign</command> <command>property-assign</command>

View file

@ -89,7 +89,7 @@
<live>true</live> <live>true</live>
<property>/sim/gui/dialogs/stopwatch-dialog/display</property> <property>/sim/gui/dialogs/stopwatch-dialog/display</property>
<font> <font>
<name>TIMES_24</name> <property>sim/gui/selected-style/fonts/gui-large</property>
</font> </font>
<color> <color>
<red>1</red> <red>1</red>

View file

@ -21,9 +21,48 @@
<slant type="float">0</slant> <slant type="float">0</slant>
</splash> </splash>
<gui-large>
<name>HELVETICA_14</name>
</gui-large>
<fixed>
<name>FIXED_8x13</name>
</fixed>
<gui-small>
<name>HELVETICA_12</name>
</gui-small>
<mp-list>
<name>FIXED_8x13</name>
</mp-list>
<replay>
<name>SANS_12B</name>
<size type="float">14</size>
</replay>
<model-view>
<name type="string">HELVETICA_14</name>
</model-view>
<nasal-editor>
<name type="string">HELVETICA_12</name>
<size>6</size>
</nasal-editor>
<message-display> <message-display>
<name type="string">SANS_12B</name> <name type="string">SANS_12B</name>
</message-display> </message-display>
<screen>
<name type="string">HELVETICA_14</name>
<size type="float">13</size>
</screen>
<stopwatch>
<name>TIMES_24</name>
</stopwatch>
</fonts> </fonts>
<colors> <colors>

View file

@ -23,17 +23,68 @@
<fonts> <fonts>
<gui> <gui>
<name type="string">AvantGarde-Demi.txf</name> <!--<name type="string">accid.txf</name>
<size type="float">10</size>-->
<name type="string">accid.txf</name>
<size type="float">16</size>
<slant type="float">0</slant>
</gui> </gui>
<splash> <splash>
<name type="string">HELVETICA_18</name> <name type="string">AvantGarde-Demi.txf</name>
<size type="float">15</size>
<slant type="float">0</slant>
</splash> </splash>
<gui-small>
<name>AvantGarde-Demi.txf</name>
<size>12</size>
</gui-small>
<mp-list>
<name>AvantGarde-Demi.txf</name>
<size>12</size>
</mp-list>
<model-view>
<name>AvantGarde-Demi.txf</name>
<size>12</size>
</model-view>
<replay>
<name>AvantGarde-Demi.txf</name>
<size>11</size>
</replay>
<stopwatch>
<name type="string">accid.txf</name>
<size type="float">20</size>
<slant type="float">0</slant>
</stopwatch>
<gui-large>
<name type="string">accid.txf</name>
<size type="float">17</size>
<slant type="float">0</slant>
</gui-large>
<fixed>
<name>monoMMM_5.txf</name>
<size>6</size>
</fixed>
<nasal-editor>
<name>monoMMM_5.txf</name>
<size>6</size>
</nasal-editor>
<message-display> <message-display>
<name type="string">Helvetica-BoldOblique.txf</name> <name type="string">accid.txf</name>
<!--helvetica_bold.txf--> <size type="float">16</size>
<slant type="float">0</slant>
</message-display> </message-display>
<screen>
<name type="string">accid.txf</name>
<size type="float">16</size>
<slant type="float">0</slant>
</screen>
</fonts> </fonts>
<colors> <colors>