From 175402bf3fdfee645efda2fbbe87433e47fb224a Mon Sep 17 00:00:00 2001 From: ketmar Date: Sat, 20 Nov 2021 20:23:06 +0000 Subject: [PATCH] egra: editor widget fixes FossilOrigin-Name: 0a3f7c1894424e69173908cb262d353587954a04fc18adf121c3e5f27590b253 --- egra/gui/editor.d | 10 ++++++++++ egra/gui/widgets.d | 2 +- egra/test.d | 12 +++++++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/egra/gui/editor.d b/egra/gui/editor.d index 87aaa52..dd7fac7 100644 --- a/egra/gui/editor.d +++ b/egra/gui/editor.d @@ -861,6 +861,11 @@ final class EditorWidget : Widget { editor = new TextEditor(this, 0, 0, 10, 10); } + this () { + assert(creatorCurrentParent !is null); + this(creatorCurrentParent); + } + void addText (const(char)[] s) { immutable GxRect grect = globalRect; editor.moveResize(grect.x0, grect.y0, (grect.width < 1 ? 1 : grect.width), (grect.height < 1 ? grect.height : 1)); @@ -991,6 +996,11 @@ final class LineEditWidget : Widget { editor = new TextEditor(this, 0, 0, width, height, true); // singleline } + this (string atitle=null, int atitwdt=-1) { + assert(creatorCurrentParent !is null); + this(creatorCurrentParent, atitle, atitwdt); + } + @property bool readonly () const nothrow { return editor.readonly; } @property void readonly (bool v) nothrow { editor.readonly = v; } diff --git a/egra/gui/widgets.d b/egra/gui/widgets.d index 5797748..6efbe18 100644 --- a/egra/gui/widgets.d +++ b/egra/gui/widgets.d @@ -33,7 +33,7 @@ import iv.egra.gui.subwindows; // ////////////////////////////////////////////////////////////////////////// // // this is used as parent if parent is null (but not for root widgets) -private Widget creatorCurrentParent = null; +public Widget creatorCurrentParent = null; // ////////////////////////////////////////////////////////////////////////// // diff --git a/egra/test.d b/egra/test.d index 5af7d7a..917d1d9 100644 --- a/egra/test.d +++ b/egra/test.d @@ -60,15 +60,21 @@ protected: bool delegate (const(char)[] name, const(char)[] mail, const(char)[] folder, const(char)[] title) onSelected; override void createWidgets () { - fromName = new LineEditWidget(rootWidget, "Name:"); + new SpacerWidget(2); + + fromName = new LineEditWidget("Name:"); fromName.flex = 1; - fromMail = new LineEditWidget(rootWidget, "Mail:"); + new SpacerWidget(1); + fromMail = new LineEditWidget("Mail:"); fromMail.flex = 1; - edtTitle = new LineEditWidget(rootWidget, "Title:"); + new SpacerWidget(1); + edtTitle = new LineEditWidget("Title:"); edtTitle.flex = 1; + new SpacerWidget(2); + fromName.str = name; fromMail.str = mail; edtTitle.str = title; -- 2.11.4.GIT