mirror of https://github.com/adamdruppe/arsd.git
catchup
This commit is contained in:
parent
079fb89cb4
commit
13f55bf8d5
40
dom.d
40
dom.d
|
@ -6904,12 +6904,48 @@ void fillForm(T)(Form form, T obj, string name) {
|
||||||
fillData((k, v) => form.setValue(k, v), obj, name);
|
fillData((k, v) => form.setValue(k, v), obj, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/+
|
||||||
|
Syntax:
|
||||||
|
|
||||||
|
Tag: tagname#id.class
|
||||||
|
Tree: Tag(Children, comma, separated...)
|
||||||
|
Children: Tee or Variable
|
||||||
|
Variable: $varname with optional |funcname following.
|
||||||
|
|
||||||
|
If a variable has a tree after it, it breaks the variable down:
|
||||||
|
* if array, foreach it does the tree
|
||||||
|
* if struct, it breaks down the member variables
|
||||||
|
|
||||||
|
stolen from georgy on irc, see: https://github.com/georgy7/stringplate
|
||||||
|
+/
|
||||||
|
struct Stringplate {
|
||||||
|
/++
|
||||||
|
|
||||||
|
+/
|
||||||
|
this(string s) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/++
|
||||||
|
|
||||||
|
+/
|
||||||
|
Element expand(T...)(T vars) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///
|
||||||
|
unittest {
|
||||||
|
auto stringplate = Stringplate("#bar(.foo($foo), .baz($baz))");
|
||||||
|
assert(stringplate.expand.innerHTML == `<div id="bar"><div class="foo">$foo</div><div class="baz">$baz</div></div>`);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright: Adam D. Ruppe, 2010 - 2016
|
Copyright: Adam D. Ruppe, 2010 - 2017
|
||||||
License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
|
License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
|
||||||
Authors: Adam D. Ruppe, with contributions by Nick Sabalausky, Trass3r, and ketmar among others
|
Authors: Adam D. Ruppe, with contributions by Nick Sabalausky, Trass3r, and ketmar among others
|
||||||
|
|
||||||
Copyright Adam D. Ruppe 2010-2016.
|
Copyright Adam D. Ruppe 2010-2017.
|
||||||
Distributed under the Boost Software License, Version 1.0.
|
Distributed under the Boost Software License, Version 1.0.
|
||||||
(See accompanying file LICENSE_1_0.txt or copy at
|
(See accompanying file LICENSE_1_0.txt or copy at
|
||||||
http://www.boost.org/LICENSE_1_0.txt)
|
http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
|
@ -1993,12 +1993,12 @@ private:
|
||||||
|
|
||||||
|
|
||||||
/++
|
/++
|
||||||
|
Provides an icon on the system notification area (also known as the system tray).
|
||||||
|
|
||||||
|
|
||||||
NotificationAreaIcon on Windows assumes you are on Windows Vista or later.
|
NotificationAreaIcon on Windows assumes you are on Windows Vista or later.
|
||||||
If this is wrong, pass -version=WindowsXP to dmd when compiling and it will
|
If this is wrong, pass -version=WindowsXP to dmd when compiling and it will
|
||||||
use the older version.
|
use the older version.
|
||||||
|
|
||||||
EXPERIMENTAL: this class will soon be merged with the same-named version(X11)
|
|
||||||
class.
|
|
||||||
+/
|
+/
|
||||||
class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
|
|
||||||
|
@ -2061,7 +2061,6 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
timer = null;
|
timer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
|
||||||
void redraw() {
|
void redraw() {
|
||||||
if (!active) return;
|
if (!active) return;
|
||||||
|
|
||||||
|
@ -2149,13 +2148,13 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
private int height = 16;
|
private int height = 16;
|
||||||
private bool active = false;
|
private bool active = false;
|
||||||
|
|
||||||
void delegate (int x, int y, MouseButton button, ModifierState mods) onClickEx; /// x and y are globals (relative to root window)
|
void delegate (int x, int y, MouseButton button, ModifierState mods) onClickEx; /// x and y are globals (relative to root window). X11 only.
|
||||||
void delegate (int x, int y, ModifierState mods) onEnter; /// x and y are global window coordinates
|
void delegate (int x, int y, ModifierState mods) onEnter; /// x and y are global window coordinates. X11 only.
|
||||||
void delegate () onLeave; ///
|
void delegate () onLeave; /// X11 only.
|
||||||
|
|
||||||
@property bool closed () const pure nothrow @safe @nogc { return !active; } ///
|
@property bool closed () const pure nothrow @safe @nogc { return !active; } ///
|
||||||
|
|
||||||
/// Get global window coordinates and size. This can be used to show various notifications.
|
/// X11 only. Get global window coordinates and size. This can be used to show various notifications.
|
||||||
void getWindowRect (out int x, out int y, out int width, out int height) {
|
void getWindowRect (out int x, out int y, out int width, out int height) {
|
||||||
if (!active) { width = 1; height = 1; return; } // 1: just in case
|
if (!active) { width = 1; height = 1; return; } // 1: just in case
|
||||||
Window dummyw;
|
Window dummyw;
|
||||||
|
@ -2325,14 +2324,14 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
private void delegate (MouseButton button) onClick_;
|
private void delegate (MouseButton button) onClick_;
|
||||||
|
|
||||||
///
|
///
|
||||||
final void delegate(MouseButton) onClick() {
|
@property final void delegate(MouseButton) onClick() {
|
||||||
if(onClick_ is null)
|
if(onClick_ is null)
|
||||||
onClick_ = delegate void(MouseButton) {};
|
onClick_ = delegate void(MouseButton) {};
|
||||||
return onClick_;
|
return onClick_;
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
/// ditto
|
||||||
final void onClick(void delegate(MouseButton) handler) {
|
@property final void onClick(void delegate(MouseButton) handler) {
|
||||||
// I made this a property setter so we can wrap smaller arg
|
// I made this a property setter so we can wrap smaller arg
|
||||||
// delegates and just forward all to onClickEx or something.
|
// delegates and just forward all to onClickEx or something.
|
||||||
onClick_ = handler;
|
onClick_ = handler;
|
||||||
|
@ -2365,7 +2364,7 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
} else static assert(0);
|
} else static assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
/// ditto
|
||||||
@property void icon (Image i) {
|
@property void icon (Image i) {
|
||||||
version(X11) {
|
version(X11) {
|
||||||
if (!active) return;
|
if (!active) return;
|
||||||
|
@ -2386,6 +2385,10 @@ class NotificationAreaIcon : CapableOfHandlingNativeEvent {
|
||||||
if(balloon) {
|
if(balloon) {
|
||||||
hideBalloon();
|
hideBalloon();
|
||||||
}
|
}
|
||||||
|
// I know there are two specs for this, but one is never
|
||||||
|
// implemented by any window manager I have ever seen, and
|
||||||
|
// the other is a bloated mess and too complicated for simpledisplay...
|
||||||
|
// so doing my own little window instead.
|
||||||
balloon = new SimpleWindow(180, 120, null, OpenGlOptions.no, Resizability.fixedSize, WindowTypes.notification, WindowFlags.dontAutoShow/*, window*/);
|
balloon = new SimpleWindow(180, 120, null, OpenGlOptions.no, Resizability.fixedSize, WindowTypes.notification, WindowFlags.dontAutoShow/*, window*/);
|
||||||
|
|
||||||
int x, y, width, height;
|
int x, y, width, height;
|
||||||
|
|
Loading…
Reference in New Issue