diff --git a/minigui.d b/minigui.d index 1028cc0..4c1ba08 100644 --- a/minigui.d +++ b/minigui.d @@ -3097,6 +3097,10 @@ class TabWidget : Widget { recomputeChildLayout(); } } + + version(win32_widgets) { + InvalidateRect(parentWindow.hwnd, null, true); + } } } @@ -3197,6 +3201,26 @@ class TabWidgetPage : Widget { this(string title, Widget parent) { this.title = title; super(parent); + + /* + version(win32_widgets) { + static bool classRegistered = false; + if(!classRegistered) { + HINSTANCE hInstance = cast(HINSTANCE) GetModuleHandle(null); + WNDCLASSEX wc; + wc.cbSize = wc.sizeof; + wc.hInstance = hInstance; + wc.lpfnWndProc = &DefWindowProc; + wc.lpszClassName = "arsd_minigui_TabWidgetPage"w.ptr; + if(!RegisterClassExW(&wc)) + throw new Exception("RegisterClass ");// ~ to!string(GetLastError())); + classRegistered = true; + } + + + createWin32Window(this, "arsd_minigui_TabWidgetPage"w, "", 0); + } + */ } override int minHeight() { @@ -3395,6 +3419,8 @@ class Window : Widget { this.width = w; this.height = h; recomputeChildLayout(); + version(win32_widgets) + InvalidateRect(hwnd, null, true); redraw(); }; @@ -5536,15 +5562,16 @@ class TextLabel : Widget { @scriptable void label(string l) { label_ = l; - redraw(); + version(win32_widgets) { + WCharzBuffer bfr = WCharzBuffer(l); + SetWindowTextW(hwnd, bfr.ptr); + } else version(custom_widgets) + redraw(); } /// this(string label, Widget parent = null) { - this.label_ = label; - this.alignment = TextAlignment.Right; - this.tabStop = false; - super(parent); + this(label, TextAlignment.Right, parent); } /// @@ -5553,10 +5580,14 @@ class TextLabel : Widget { this.alignment = alignment; this.tabStop = false; super(parent); + + version(win32_widgets) + createWin32Window(this, "static"w, label, 0, alignment == TextAlignment.Right ? WS_EX_RIGHT : WS_EX_LEFT); } TextAlignment alignment; + version(custom_widgets) override void paint(WidgetPainter painter) { painter.outlineColor = Color.black; painter.drawText(Point(0, 0), this.label, Point(width, height), alignment); diff --git a/terminal.d b/terminal.d index 0ec037c..b60649a 100644 --- a/terminal.d +++ b/terminal.d @@ -308,7 +308,7 @@ vs|xterm|xterm-color|xterm-256color|vs100|xterm terminal emulator (X Window Syst #rxvt, added by me -rxvt|rxvt-unicode:\ +rxvt|rxvt-unicode|rxvt-unicode-256color:\ :am:bs:mi@:km:co#80:li#55:\ :im@:ei@:\ :ct=\E[3k:ue=\E[m:\