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
#
# "private"
var font = "";
if (getprop("/sim/gui/current-syle"))
font = {name: "FIXED_8x13" };
else
font = { name: "AvantGarde-Demi.txf"};
me.font = { name: getprop("/sim/gui/selected-style/fonts/mp-list/name") or "FIXED_8x13",
size: getprop("/sim/gui/selected-style/fonts/mp-list/size") or 20,
slant: getprop("/sim/gui/selected-style/fonts/mp-list/slant") or 0,
};
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 = [
{ 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: "id-code", format: " %s", label: "-----", halign: "fill" , font: font },
{ type: "text", property: "model-short", format: "%s", label: "--------------", halign: "fill" , font: font },
{ type: "text", property: "bearing-to", format: " %3.0f", label: "----", halign: "right", font: font },
{ type: "text", property: func dialog.dist_node, format:" %8.2f", label: "---------", halign: "right", font: font },
{ type: "text", property: func dialog.alt_node, format:" %7.0f", label: "---------", halign: "right", 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: me.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: me.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: 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",
argprop: "callsign", label: "---------", halign: "right", font: font },
argprop: "callsign", label: "---------", halign: "right", font: me.font },
];
me.cs_warnings = {};
me.name = "who-is-online";
@ -193,6 +193,7 @@ var dialog = {
me.dialog = gui.dialog[me.name] = gui.Widget.new();
me.dialog.set("name", me.name);
me.dialog.set("dialog-name", me.name);
me.dialog.set("font", me.font.name);
if (me.x != nil)
me.dialog.set("x", me.x);
if (me.y != nil)
@ -233,6 +234,8 @@ var dialog = {
var col = 0;
foreach (var h; me.header) {
var w = content.addChild("text");
w.node.setValues({ "font" : me.font});
var l = typeof(h) == "func" ? h() : h;
w.node.setValues({ "label": l, "row": row, "col": col, halign: me.columns[col].halign });
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
@ -133,10 +133,11 @@ var window = {
me.dialog.set("y", me.y);
me.dialog.set("layout", "vbox");
me.dialog.set("default-padding", 2);
if (me.font != nil)
me.dialog.setFont(me.font);
me.dialog.setFont(me.font, me.fontsize);
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]);
@ -209,7 +210,7 @@ var window = {
#
# var dpy = screen.display.new(20, 10); # x/y coordinate
# 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(props.globals.getNode("/orientation").getChildren());
@ -244,7 +245,8 @@ var display = {
m.x = x;
m.y = y;
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.tagformat = "%s";
m.format = "%.12g";
@ -266,8 +268,9 @@ var display = {
me.redraw();
me;
},
setfont : func(font) {
setfont : func(font, size=13) {
me.font = font;
me.fontsize = size;
me.redraw();
me;
},
@ -278,7 +281,7 @@ var display = {
me.dialog.set("y", me.y);
me.dialog.set("layout", "vbox");
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);
foreach (var e; me.entries) {
@ -416,8 +419,7 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
});
setlistener("/sim/gui/current-style", func {
var theme = getprop("/sim/gui/current-style");
theme_font = getprop("/sim/gui/style[" ~ theme ~ "]/fonts/message-display/name");
theme_font = getprop("/sim/gui/selected-style/fonts/message-display/name");
}, 1);
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);
}
##
# 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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -102,7 +102,7 @@
<text>
<font>
<name>SANS_12B</name>
<property>sim/gui/selected-style/fonts/replay</property>
</font>
<label>REPLAY</label>
<color>
@ -516,23 +516,6 @@
<blue>0.3</blue>
<alpha>0.8</alpha>
</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>
<binding>
<command>property-assign</command>

View file

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

View file

@ -21,9 +21,48 @@
<slant type="float">0</slant>
</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>
<name type="string">SANS_12B</name>
</message-display>
<screen>
<name type="string">HELVETICA_14</name>
<size type="float">13</size>
</screen>
<stopwatch>
<name>TIMES_24</name>
</stopwatch>
</fonts>
<colors>

View file

@ -23,17 +23,68 @@
<fonts>
<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>
<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>
<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>
<name type="string">Helvetica-BoldOblique.txf</name>
<!--helvetica_bold.txf-->
<name type="string">accid.txf</name>
<size type="float">16</size>
<slant type="float">0</slant>
</message-display>
<screen>
<name type="string">accid.txf</name>
<size type="float">16</size>
<slant type="float">0</slant>
</screen>
</fonts>
<colors>