1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2024-09-28 14:30:51 +00:00

Gui: Toggle nightmode for dropdown list

This commit is contained in:
gnosygnu 2017-03-05 13:10:22 -05:00
parent ae9a00fade
commit 2d415cb1d2
9 changed files with 31 additions and 7 deletions

View File

@ -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;}

View File

@ -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);
}

View File

@ -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) {}

View File

@ -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;
}

View File

@ -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();

View File

@ -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;

View File

@ -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;

View File

@ -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) {

View File

@ -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;