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

Gui: Tweak positioning of gui elements / font sizes

This commit is contained in:
gnosygnu 2017-02-15 19:18:41 -05:00
parent 451962a97f
commit 00ab87b1b5
7 changed files with 61 additions and 36 deletions

View File

@ -198,7 +198,7 @@ public class Swt_kit implements Gfui_kit {
for (int i = 0; i < args_len; i++)
ctor_args.Add(args[i]);
boolean border_on = Bool_.Cast(ctor_args.Get_val_or(GfuiTextBox.CFG_border_on_, true));
GxwTextFld under = new Swt_text_w_border(Swt_control_.cast_or_fail(owner), New_color(border_on ? ColorAdp_.LightGray : ColorAdp_.White), ctor_args, Swt_text_w_border.Margin_t__text);
GxwTextFld under = new Swt_text_w_border(Swt_control_.cast_or_fail(owner), New_color(border_on ? ColorAdp_.LightGray : ColorAdp_.White), ctor_args);
GfuiTextBox rv = GfuiTextBox_.kit_(this, key, under, ctor_args);
rv.Owner_(owner);
ctor_args.Clear();

View File

@ -46,7 +46,7 @@ public class Swt_combo_ctrl extends Swt_text_w_border implements GxwElem, GxwCom
private final Text swt_text;
private final Swt_combo_list list;
public Swt_combo_ctrl(Swt_control owner, Color color, Keyval_hash ctorArgs) {
super(owner, color, new Keyval_hash(), Swt_text_w_border.Margin_t__combo);
super(owner, color, new Keyval_hash());
Display display = owner.Under_control().getDisplay();
Shell shell = owner.Under_control().getShell();
this.swt_text = super.Under_text();

View File

@ -122,9 +122,10 @@ abstract class Swt_core__base extends GxwCore_base {
Swt_layout_mgr__grid gfui_layout = (Swt_layout_mgr__grid)v;
GridLayout swt_layout = new GridLayout();
swt_layout.numColumns = gfui_layout.Cols();
swt_layout.marginHeight = gfui_layout.Margin_h();
swt_layout.marginWidth = gfui_layout.Margin_w();
swt_layout.verticalSpacing = gfui_layout.Spacing_h();
if (gfui_layout.Margin_w() > -1) swt_layout.marginWidth = gfui_layout.Margin_w();
if (gfui_layout.Margin_h() > -1) swt_layout.marginHeight = gfui_layout.Margin_h();
if (gfui_layout.Spacing_w() > -1) swt_layout.horizontalSpacing = gfui_layout.Spacing_w();
if (gfui_layout.Spacing_h() > -1) swt_layout.verticalSpacing = gfui_layout.Spacing_h();
Composite control_as_composite = (Composite)control;
control_as_composite.setLayout(swt_layout);

View File

@ -46,8 +46,9 @@ class Swt_core__frames extends Swt_core__base {
Frames_h_set(outer_rect.height);
// vertically center
int text_size = frames[1].Item().getSize().y;
text_w_border.margins_t = (outer_rect.height - text_size) / 2;
int text_size = frames[frames_len - 1].Item().getSize().y;
text_w_border.margins_t = (outer_rect.height - text_size) / 2;
// Tfds.Write(outer_rect.height, frames[frames_len - 2].Item().getSize().y, text_size, text_w_border.margins_t, frames[frames_len - 1].Item().getToolTipText());
}
});
}
@ -104,6 +105,7 @@ class Swt_frame_itm__center_v implements Swt_frame_itm {
public void Rect_set(int new_w, int new_h) {
int margin_t = margin_owner.margins_t;
int margin_b = margin_owner.margins_b;
// Tfds.Write(margin_t, margin_b, new_h - (margin_t + margin_b), control.getToolTipText());
Swt_control_.Rect_set(control, 0, margin_t, new_w, new_h - (margin_t + margin_b));
}
}

View File

@ -39,7 +39,7 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control {
private Composite text_host;
private Composite text_margin;
private Text text_elem;
public Swt_text_w_border(Swt_control owner_control, Color color, Keyval_hash ctorArgs, int margin_t) {
public Swt_text_w_border(Swt_control owner_control, Color color, Keyval_hash ctorArgs) {
Composite owner = owner_control.Under_composite();
int text_elem_style = ctorArgs.Has(GfuiTextBox_.Ctor_Memo) ? SWT.MULTI | SWT.WRAP | SWT.V_SCROLL : SWT.FLAT;
New_box_text_w_border(owner.getDisplay(), owner, text_elem_style, color);
@ -47,7 +47,7 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control {
{ new Swt_frame_itm__manual(text_margin, 1, 1, -2, -2)
, new Swt_frame_itm__center_v(text_elem, this)
});
this.margins_t = margin_t;
this.margins_t = this.margins_b = Margin_v_dflt;
text_elem.addKeyListener(new Swt_lnr_key(this));
text_elem.addMouseListener(new Swt_lnr_mouse(this));
}
@ -55,7 +55,7 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control {
@Override public Composite Under_composite() {return null;}
@Override public Control Under_menu_control() {return text_elem;}
public Text Under_text() {return text_elem;}
@Override public int SelBgn() {return text_elem.getCaretPosition();} @Override public void SelBgn_set(int v) {text_elem.setSelection(v);}
@Override public int SelBgn() {return text_elem.getCaretPosition();} @Override public void SelBgn_set(int v) {text_elem.setSelection(v);}
@Override public int SelLen() {return text_elem.getSelectionCount();} @Override public void SelLen_set(int v) {text_elem.setSelection(this.SelBgn(), this.SelBgn() + v);}
@Override public String TextVal() {return text_elem.getText();} @Override public void TextVal_set(String v) {text_elem.setText(v);}
@Override public GxwCore_base Core() {return core;} Swt_core__frames core;
@ -64,10 +64,10 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control {
@Override public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
return null;
}
public int Margins_l() {return margins_l;} int margins_l;
public int Margins_r() {return margins_r;} int margins_r;
public int Margins_t() {return margins_t;} int margins_t;
public int Margins_b() {return margins_b;} int margins_b;
public int Margins_l() {return margins_l;} public int margins_l;
public int Margins_r() {return margins_r;} public int margins_r;
public int Margins_t() {return margins_t;} public int margins_t;
public int Margins_b() {return margins_b;} public int margins_b;
public void Margins_set(int left, int top, int right, int bot) {
this.margins_l = left; this.margins_t = top; this.margins_r = right; this.margins_b = bot;
}
@ -84,7 +84,7 @@ public class Swt_text_w_border implements GxwTextFld, Swt_control {
text_margin.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
text_margin.setSize(25, 25);
}
public static final int Margin_t__text = 4, Margin_t__combo = 6; // magic constants
public static final int Margin_v_dflt = 4;
}
class Swt_lnr_traverse_ignore_ctrl implements TraverseListener {
public void keyTraversed(TraverseEvent e) {

View File

@ -33,19 +33,21 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
}
public Gfui_kit Kit() {return kit;} private Gfui_kit kit;
public Xoa_gui_mgr Gui_mgr() {return gui_mgr;} private Xoa_gui_mgr gui_mgr;
public GfuiWin Win_box() {return win_box;} private GfuiWin win_box;
public GfuiBtn Go_bwd_btn() {return go_bwd_btn;} private GfuiBtn go_bwd_btn;
public GfuiBtn Go_fwd_btn() {return go_fwd_btn;} private GfuiBtn go_fwd_btn;
public GfuiComboBox Url_box() {return url_box;} private GfuiComboBox url_box;
public GfuiBtn Url_exec_btn() {return url_exec_btn;} private GfuiBtn url_exec_btn;
public GfuiTextBox Search_box() {return search_box;} private GfuiTextBox search_box;
public GfuiBtn Search_exec_btn() {return search_exec_btn;} private GfuiBtn search_exec_btn;
public GfuiTextBox Find_box() {return find_box;} private GfuiTextBox find_box;
public GfuiBtn Find_close_btn() {return find_close_btn;} private GfuiBtn find_close_btn;
public GfuiBtn Find_fwd_btn() {return find_fwd_btn;} private GfuiBtn find_fwd_btn;
public GfuiBtn Find_bwd_btn() {return find_bwd_btn;} private GfuiBtn find_bwd_btn;
public GfuiTextBox Prog_box() {return prog_box;} private GfuiTextBox prog_box;
public GfuiTextBox Info_box() {return info_box;} private GfuiTextBox info_box;
public GfuiWin Win_box() {return win_box;} private GfuiWin win_box;
public GfuiBtn Go_bwd_btn() {return go_bwd_btn;} private GfuiBtn go_bwd_btn;
public GfuiBtn Go_fwd_btn() {return go_fwd_btn;} private GfuiBtn go_fwd_btn;
public GfuiComboBox Url_box() {return url_box;} private GfuiComboBox url_box;
public GfuiBtn Url_exec_btn() {return url_exec_btn;} private GfuiBtn url_exec_btn;
public GfuiTextBox Search_box() {return search_box;} private GfuiTextBox search_box;
public GfuiBtn Search_exec_btn() {return search_exec_btn;} private GfuiBtn search_exec_btn;
public GfuiTextBox Find_box() {return find_box;} private GfuiTextBox find_box;
public GfuiBtn Find_close_btn() {return find_close_btn;} private GfuiBtn find_close_btn;
public GfuiBtn Find_fwd_btn() {return find_fwd_btn;} private GfuiBtn find_fwd_btn;
public GfuiBtn Find_bwd_btn() {return find_bwd_btn;} private GfuiBtn find_bwd_btn;
public GfuiTextBox Prog_box() {return prog_box;} private GfuiTextBox prog_box;
public GfuiTextBox Info_box() {return info_box;} private GfuiTextBox info_box;
public Gfo_evt_mgr Evt_mgr() {if (evt_mgr == null) evt_mgr = new Gfo_evt_mgr(this); return evt_mgr;} private Gfo_evt_mgr evt_mgr;
public Xoae_app App() {return app;} private Xoae_app app;
public Xog_tab_mgr Tab_mgr() {return tab_mgr;} private Xog_tab_mgr tab_mgr;
@ -287,40 +289,58 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
} private Object App__retrieve__lock = new Object();
public void Init_by_kit(Gfui_kit kit) {
this.kit = kit;
win_box = kit.New_win_app("win");
sync_cmd = win_box.Kit().New_cmd_sync(this);
this.win_box = kit.New_win_app("win");
this.sync_cmd = win_box.Kit().New_cmd_sync(this);
Io_url img_dir = app.Fsys_mgr().Bin_xowa_file_dir().GenSubDir_nest("app.window");
FontAdp ui_font = app.Gui_mgr().Win_cfg().Font().To_font();
win_box.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(1).Margin_w_(0).Margin_h_(0).Spacing_h_(0));
// toolbar
Gfui_grp toolbar_grp = kit.New_grp("toolbar_grp", win_box);
toolbar_grp.BackColor_(ColorAdp_.White);
toolbar_grp.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_());
toolbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(6).Margin_w_(0).Margin_h_(0).Spacing_h_(0));
go_bwd_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, img_dir, "go_bwd_btn", "go_bwd.png" );
go_fwd_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, img_dir, "go_fwd_btn", "go_fwd.png" );
url_box = Xog_win_itm_.new_cbo(app, kit, toolbar_grp, ui_font, "url_box" , true);
url_exec_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, img_dir, "url_exec_btn", "url_exec.png" );
search_box = Xog_win_itm_.new_txt(app, kit, toolbar_grp, ui_font, "search_box" , true);
search_exec_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, img_dir, "search_exec_btn", "search_exec.png" );
toolbar_grp.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Hint_h_(28));
toolbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(6)
.Margin_w_(4) // sets space to far-left / right window edges
.Margin_h_(1) // sets space to top-menu and bot-html
.Spacing_w_(4) // sets space between buttons, or else very squished
.Spacing_h_(0) // not needed since only one row, but be explicit
);
url_box.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Min_w_(100));
search_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(160));
search_exec_btn.Layout_data_(new Swt_layout_data__grid().Align_w__fill_().Hint_w_(20)); // force 20 width to add even more space to right-hand of screen
// tab / html space
tab_mgr.Init_by_kit(kit);
tab_mgr.Tab_mgr().Layout_data_(new Swt_layout_data__grid().Grab_excess_h_(true).Align_w__fill_().Align_h__fill_().Grab_excess_w_(true));
// statusbar
Gfui_grp statusbar_grp = kit.New_grp("statusbar_grp", win_box);
statusbar_grp.BackColor_(ColorAdp_.White);
statusbar_grp.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_());
statusbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(6).Margin_w_(0).Margin_h_(0).Spacing_h_(0));
find_close_btn = Xog_win_itm_.new_btn(app, kit, statusbar_grp, img_dir, "find_close_btn", "find_close.png" );
find_box = Xog_win_itm_.new_txt(app, kit, statusbar_grp, ui_font, "find_box" , true);
find_fwd_btn = Xog_win_itm_.new_btn(app, kit, statusbar_grp, img_dir, "find_fwd_btn", "find_fwd.png" );
find_bwd_btn = Xog_win_itm_.new_btn(app, kit, statusbar_grp, img_dir, "find_bwd_btn", "find_bwd.png" );
prog_box = Xog_win_itm_.new_txt(app, kit, statusbar_grp, ui_font, "prog_box" , false);
info_box = Xog_win_itm_.new_txt(app, kit, statusbar_grp, ui_font, "note_box" , false);
find_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(110));
statusbar_grp.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Hint_h_(28));
statusbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(6)
.Margin_w_(4) // adds buffer on far-left / right window edges
.Margin_h_(0) // sets space to top-html / bot-window
.Spacing_w_(4) // sets space between buttons, or else very squished
.Spacing_h_(0) // not needed since only one row, but be explicit
);
find_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(108)); // 108 is a magic number to have status bar text line up with vertical bar on Wikipedia style sheets
prog_box.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Min_w_(100));
info_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(0)); // hide for now; may add back later if need static text in corner; DATE:2017-02-15
this.Lang_changed(app.Usere().Lang());

View File

@ -54,8 +54,10 @@ public class Xog_win_itm_ {
if (!itm_font.Eq(gui_font)) {
FontAdp new_font = itm_font.To_font();
win.Url_box().TextMgr().Font_(new_font);
win.Search_box().TextMgr().Font_(new_font);
win.Find_box().TextMgr().Font_(new_font);
win.Prog_box().TextMgr().Font_(new_font);
win.Info_box().TextMgr().Font_(new_font);
win.Tab_mgr().Tab_mgr().TextMgr().Font_(new_font);
}
}