From 2d415cb1d238bf07b5a58783965ebb5add78b57b Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Sun, 5 Mar 2017 13:10:22 -0500 Subject: [PATCH] Gui: Toggle nightmode for dropdown list --- .../src/gplx/gfui/controls/elems/GfuiElemBase.java | 4 ++-- .../src/gplx/gfui/controls/gxws/GxwComboBox.java | 2 ++ .../gplx/gfui/controls/gxws/GxwComboBox_lang.java | 2 ++ .../gplx/gfui/controls/gxws/GxwElem_mock_base.java | 2 ++ .../gplx/gfui/controls/standards/GfuiComboBox.java | 12 ++++++++++++ 150_gfui/src/gplx/gfui/kits/swts/Swt_combo.java | 2 ++ 150_gfui/src/gplx/gfui/kits/swts/Swt_combo_ctrl.java | 6 +++++- .../src/gplx/gfui/kits/swts/Swt_text_w_border.java | 6 ++---- .../guis/views/nightmodes/Xog_nightmode_mgr.java | 2 ++ 9 files changed, 31 insertions(+), 7 deletions(-) diff --git a/150_gfui/src/gplx/gfui/controls/elems/GfuiElemBase.java b/150_gfui/src/gplx/gfui/controls/elems/GfuiElemBase.java index 894147e59..582612374 100644 --- a/150_gfui/src/gplx/gfui/controls/elems/GfuiElemBase.java +++ b/150_gfui/src/gplx/gfui/controls/elems/GfuiElemBase.java @@ -69,7 +69,7 @@ public class GfuiElemBase implements GfuiElem { @gplx.Virtual public boolean Visible() {return underMgr.Visible();} @gplx.Virtual public void Visible_set(boolean v) {underMgr.Visible_set(v);} public GfuiElem Visible_on_() {this.Visible_set(true); return this;} public GfuiElem Visible_off_() {this.Visible_set(false); return this;} @gplx.Virtual public ColorAdp BackColor() {return backColor;} ColorAdp backColor = ColorAdp_.White; - public GfuiElem BackColor_(ColorAdp v) {backColor = v; underMgr.BackColor_set(backColor); return this;} + @gplx.Virtual public GfuiElem BackColor_(ColorAdp v) {backColor = v; underMgr.BackColor_set(backColor); return this;} public GfuiBorderMgr Border() {return border;} GfuiBorderMgr border = GfuiBorderMgr.new_(); public GfuiElem Border_on_() {border.All_(PenAdp_.new_(ColorAdp_.Black, 1)); return this;} public GfuiElem Border_off_() {border.All_(null); return this;} @@ -81,7 +81,7 @@ public class GfuiElemBase implements GfuiElem { Click_key_set_(v); return this; } - public GfuiElem ForeColor_(ColorAdp v) {textMgr.Color_(v); return this;} + @gplx.Virtual public GfuiElem ForeColor_(ColorAdp v) {textMgr.Color_(v); return this;} public void TextAlignH_(GfuiAlign v) {textMgr.AlignH_(v);} public GfuiElem TextAlignH_left_() {textMgr.AlignH_(GfuiAlign_.Left); return this;} public GfuiElem TextAlignH_right_() {textMgr.AlignH_(GfuiAlign_.Right); return this;} diff --git a/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox.java b/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox.java index 7a08d6204..2ea4e7249 100644 --- a/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox.java +++ b/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox.java @@ -31,5 +31,7 @@ public interface GxwComboBox extends GxwElem { void Items__size_to_fit(int count); void Items__visible_rows_(int v); void Items__jump_len_(int v); + void Items__backcolor_(ColorAdp v); + void Items__forecolor_(ColorAdp v); void Margins_set(int left, int top, int right, int bot); } diff --git a/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox_lang.java b/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox_lang.java index 5a7aafae9..d18ae7109 100644 --- a/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox_lang.java +++ b/150_gfui/src/gplx/gfui/controls/gxws/GxwComboBox_lang.java @@ -35,6 +35,8 @@ public class GxwComboBox_lang extends JComboBox implements GxwComboBox, GxwElem, */ } public ColorAdp Border_color() {return border_color;} public void Border_color_(ColorAdp v) {border_color = v;} private ColorAdp border_color; + public void Items__backcolor_(ColorAdp v) {} + public void Items__forecolor_(ColorAdp v) {} public int SelBgn() {return -1;} public void SelBgn_set(int v) {} public int SelLen() {return 0;} public void SelLen_set(int v) {} public void Sel_(int bgn, int end) {} diff --git a/150_gfui/src/gplx/gfui/controls/gxws/GxwElem_mock_base.java b/150_gfui/src/gplx/gfui/controls/gxws/GxwElem_mock_base.java index 4d57eb632..900d86fb6 100644 --- a/150_gfui/src/gplx/gfui/controls/gxws/GxwElem_mock_base.java +++ b/150_gfui/src/gplx/gfui/controls/gxws/GxwElem_mock_base.java @@ -76,6 +76,8 @@ class MockComboBox extends GxwElem_mock_base implements GxwComboBox { public void Items__size_to_fit(int count) {} public void Items__visible_rows_(int v) {} public void Items__jump_len_(int v) {} + public void Items__backcolor_(ColorAdp v) {} + public void Items__forecolor_(ColorAdp v) {} public void Margins_set(int left, int top, int right, int bot) {} public Object SelectedItm() {return selectedItm;} public void SelectedItm_set(Object v) {this.selectedItm = v;} Object selectedItm; } diff --git a/150_gfui/src/gplx/gfui/controls/standards/GfuiComboBox.java b/150_gfui/src/gplx/gfui/controls/standards/GfuiComboBox.java index f7d72721c..342f59d1f 100644 --- a/150_gfui/src/gplx/gfui/controls/standards/GfuiComboBox.java +++ b/150_gfui/src/gplx/gfui/controls/standards/GfuiComboBox.java @@ -27,6 +27,16 @@ public class GfuiComboBox extends GfuiElemBase { public int SelLen() {return combo.SelLen();} public void SelLen_set(int v) {combo.SelLen_set(v);} public void Sel_(int bgn, int len) {combo.Sel_(bgn, len);} public Object SelectedItm() {return combo.SelectedItm();} public void SelectedItm_set(Object v) {combo.SelectedItm_set(v);} + @Override public GfuiElem BackColor_(ColorAdp v) { + super.BackColor_(v); + combo.Items__backcolor_(v); + return this; + } + @Override public GfuiElem ForeColor_(ColorAdp v) { + super.ForeColor_(v); + combo.Items__forecolor_(v); + return this; + } public String[] DataSource_as_str_ary() {return combo.DataSource_as_str_ary();} public void DataSource_set(Object... ary) {combo.DataSource_set(ary);} public String Text_fallback() {return combo.Text_fallback();} @@ -39,6 +49,8 @@ public class GfuiComboBox extends GfuiElemBase { public void Items__size_to_fit(int len) {combo.Items__size_to_fit(len);} public void Items__visible_rows_(int v) {combo.Items__visible_rows_(v);} public void Items__jump_len_(int v) {combo.Items__jump_len_(v);} + public void Items__backcolor_(ColorAdp v) {combo.Items__backcolor_(v);} + public void Items__forecolor_(ColorAdp v) {combo.Items__forecolor_(v);} public void Margins_set(int left, int top, int right, int bot) {combo.Margins_set(left, top, right, bot);} public static GfuiComboBox new_() { GfuiComboBox rv = new GfuiComboBox(); diff --git a/150_gfui/src/gplx/gfui/kits/swts/Swt_combo.java b/150_gfui/src/gplx/gfui/kits/swts/Swt_combo.java index 2740b4474..48182a114 100644 --- a/150_gfui/src/gplx/gfui/kits/swts/Swt_combo.java +++ b/150_gfui/src/gplx/gfui/kits/swts/Swt_combo.java @@ -72,6 +72,8 @@ class Swt_combo implements GxwElem, GxwComboBox, Swt_control, Gfo_evt_mgr_owner @Override public void Items__visible_rows_(int v) {} @Override public void Items__jump_len_(int v) {} @Override public void Margins_set(int left, int top, int right, int bot) {} + public void Items__backcolor_(ColorAdp v) {} + public void Items__forecolor_(ColorAdp v) {} // @Override public void DataSource_update(Object... ary) { // String[] src = (String[])ary; // int trg_len = combo.getItems().length; diff --git a/150_gfui/src/gplx/gfui/kits/swts/Swt_combo_ctrl.java b/150_gfui/src/gplx/gfui/kits/swts/Swt_combo_ctrl.java index 2dc1d5db8..73aaff9f3 100644 --- a/150_gfui/src/gplx/gfui/kits/swts/Swt_combo_ctrl.java +++ b/150_gfui/src/gplx/gfui/kits/swts/Swt_combo_ctrl.java @@ -20,6 +20,7 @@ import gplx.core.envs.Op_sys_; import gplx.core.threads.Thread_adp_; import gplx.gfui.controls.gxws.GxwComboBox; import gplx.gfui.controls.gxws.GxwElem; +import gplx.gfui.draws.ColorAdp; import gplx.gfui.controls.standards.GfuiComboBox; import gplx.gfui.kits.core.Swt_kit; @@ -79,7 +80,7 @@ public class Swt_combo_ctrl extends Swt_text_w_border implements GxwElem, GxwCom public void Text_fallback_restore() { if (String_.Len_eq_0(text_fallback)) return; // handle escape pressed after dropdown is visible, but down / up not pressed this.Text_(text_fallback); - this.text_fallback = ""; + this.text_fallback = ""; } @Override public void Items__update(String[] ary) {list.Items_(ary);} @Override public void Items__size_to_fit(int count) {list.Resize_shell(count);} @@ -87,6 +88,7 @@ public class Swt_combo_ctrl extends Swt_text_w_border implements GxwElem, GxwCom @Override public void List_sel_idx_(int v) {list.Sel_idx_(v);} @Override public boolean List_visible() {return list.Visible();} @Override public void List_visible_(boolean v) {list.Visible_(v);} + @Override public void Items__visible_rows_(int v) {list.Visible_rows = v;} @Override public void Items__jump_len_(int v) {list.Jump_len = v;} public Rectangle Bounds() {return super.Under_control().getBounds();} @@ -95,6 +97,8 @@ public class Swt_combo_ctrl extends Swt_text_w_border implements GxwElem, GxwCom String text_text = swt_text.getText(); this.Sel_(0, String_.Len(text_text)); } + public void Items__backcolor_(ColorAdp v) {list.Under_table_as_swt().setBackground(kit.New_color(v));} + public void Items__forecolor_(ColorAdp v) {list.Under_table_as_swt().setForeground(kit.New_color(v));} } class Swt_combo_list { private final Display display; private final Shell owner_shell; diff --git a/150_gfui/src/gplx/gfui/kits/swts/Swt_text_w_border.java b/150_gfui/src/gplx/gfui/kits/swts/Swt_text_w_border.java index c3cc97af8..e90a31c72 100644 --- a/150_gfui/src/gplx/gfui/kits/swts/Swt_text_w_border.java +++ b/150_gfui/src/gplx/gfui/kits/swts/Swt_text_w_border.java @@ -36,7 +36,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class Swt_text_w_border implements GxwTextFld, Swt_control { - private final Swt_kit kit; + protected final Swt_kit kit; private Composite text_host; private Composite text_margin; private Text text_elem; @@ -76,9 +76,7 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control { @Override public boolean Border_on() {return false;} @Override public void Border_on_(boolean v) {} // SWT_TODO:borderWidth doesn't seem mutable public ColorAdp Border_color() {return border_color;} private ColorAdp border_color; - public void Border_color_(ColorAdp v) { - this.border_color = v; text_host.setBackground(kit.New_color(v)); - } + public void Border_color_(ColorAdp v) {this.border_color = v; text_host.setBackground(kit.New_color(v));} @Override public void CreateControlIfNeeded() {} @Override public boolean OverrideTabKey() {return false;} @Override public void OverrideTabKey_(boolean v) {} private void New_box_text_w_border(Display display, Composite owner, int style, Color border_color) { diff --git a/400_xowa/src/gplx/xowa/guis/views/nightmodes/Xog_nightmode_mgr.java b/400_xowa/src/gplx/xowa/guis/views/nightmodes/Xog_nightmode_mgr.java index fa2ce9077..deb143ff1 100644 --- a/400_xowa/src/gplx/xowa/guis/views/nightmodes/Xog_nightmode_mgr.java +++ b/400_xowa/src/gplx/xowa/guis/views/nightmodes/Xog_nightmode_mgr.java @@ -56,6 +56,7 @@ public class Xog_nightmode_mgr implements Gfo_invk { win.Tab_mgr().Tab_mgr().BackColor_(color); win.Tab_mgr().Tab_mgr().Btns_selected_background_(color); win.Tab_mgr().Tab_mgr().Btns_unselected_background_(color); + win.Url_box().Items__backcolor_(color); for (GfuiElemBase elem : backcolor_elems) elem.BackColor_(color); win.Prog_box().Border_color_(color); @@ -63,6 +64,7 @@ public class Xog_nightmode_mgr implements Gfo_invk { case COLOR_GROUP_FORE: win.Tab_mgr().Tab_mgr().Btns_selected_foreground_(color); win.Tab_mgr().Tab_mgr().Btns_unselected_foreground_(color); + win.Url_box().Items__forecolor_(color); for (GfuiElemBase elem : forecolor_elems) elem.ForeColor_(color); break;