simonkrauter / nigui Goto Github PK
View Code? Open in Web Editor NEWCross-platform desktop GUI toolkit written in Nim
License: MIT License
Cross-platform desktop GUI toolkit written in Nim
License: MIT License
Under Windows: Alt+F4 does not work any more to close a window.
Related to WM_SYSKEYDOWN
I think it would be possible to create GUI editor, so you can design GUI with simple WYSIWYG interface at least with exact controls positions (not with automatic controls placing)
i wanted to make a color tool, using nim and nigui. but nigui probably doesn't have any slider. is there any plan to add it in nigui.
so generally speaking, further development is holding back because of decision making and how can nigui go forward. is it not better to separate three platforms. let say if someone using a feature in windows which doesn't in mac os, then in compiling time it will raise error, feature is not implemented yet. later who knows mac development can easily insert code in that proc.
How do I change the icon?
Since the update to 0.1.1(and/or the latest update(s) to nim) SaveFileDialog is broken.
When the button is clicked that generates/calls the dialog the app returns the following when using the example:
Unhandled Exception
index out of bounds
Traceback (most recent call last)
example_12_file_dialogs.nim(44) example_12_file_dialogs
nigui.nim(973) run
nigui.nim(951) handleException
nigui.nim(946) raiseError
Keys on the numberpad with or without Numlock do not trigger any key.events.
so pressing on the Enter key on the numpad of a full size keyboard would yield:
Window Key Down event: key: 65421(invalid data!) ...
and similar for the other keys there.
Currently window can be closed with Alt+F4
. Can Ctrl+Q
be added, as it is quite common shortcut for that?
CC: nigui_windows
Error: execution of an external compiler program 'gcc.exe -c -w -mno-ms-bitfields -DWIN32_LEAN_AND_MEAN -O3 -fno-strict-aliasing -IC:\Users\user\bin\nim-0.19.4\lib -o C:\Users\user\nimcache\app_r\nigui_windows.c.o C:\Users\user\nimcache\app_r\nigui_windows.c' failed with exit code: 1
In file included from C:\Users\user\nimcache\app\nigui_windows.c:10:0:
C:\Users\user\bin\nim-0.19.4\lib/nimbase.h:490:13: error: size of array 'Nim_and_C_compiler_disagree_on_target_architecture' is negative
typedef int Nim_and_C_compiler_disagree_on_target_architecture[sizeof(NI) == sizeof(void*) && NIM_INTBITS == sizeof(NI)*8 ? 1 : -1];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hello, are there any options if I want to make a terminal emulator with NiGui? From what I find, and this is most likely unrelated to NiGui, there's libvte for GTK, but there seems to be very little documentation for such things. Is there any such library I can use for NiGui? If not, is it terribly difficult to write your own terminal? Thanks in advance! π
Error message:
could not load: Shcore.dll
Shcore.dll is not available on Windows 7
var image1 = newImage()
image1.loadFromFile("example_01_basic_app.png")
I don't really understand how to ensure that the image always gets loaded. What settings should I use to run the examples.
note:
It works with absolute directories. That's not what I'm asking about though
I do something like this:
# setup for queryButton
var queryButton = newButton(" Run Query ")
queryButton.fontSize = 18
queryButton.textColor = rgb(30,144,255) # color ok
queryButton.backGroundcolor = rgb(0,255,0) # no effect ?
rightMenuContainer.add(queryButton)
textColor method works for button and labels only
other controls eg textBox does not show any text or background color changes at all.
PS.: nigui is really nice and hopefully there will be a comboBox widget
I am using it to display output from sql queries.
Here running under openSuse Tumbleweed .
label.textColor = rgb(255, 0, 0)
should change label color to red. but in reality nothing happens.
though textBox.textColor = rgb(255, 0, 0)
is working properly.
dialog.directory =
doesn't currently work, it's always the directory containing the app. I think it comes down to this:
This issue affects both open & save dialogs on Windows - gtk looks fine from the code.
PS really awesome library with a simple API, thanks for what you've got here so far!
textBox.onKeyDown = proc(event: KeyBoardEvent) =
let digit = {'0'..'9'}
if char(event.key) in digit:
label.text = "Number can't be name"
textBox.text = textBox.text[0 .. ^2] #remove last char, as number supposed to be the last char
in this code the anonymous function will run when a key event will occur inside the textbox. but the problem is the key char is not yet in textBox.text
variable and it produces undesire behavior. maybe onKeyRelease
will be better.
i explored the nigui.nim
and found another method named onTextChange
, it partially solve the problem
textBox.onTextChange = proc(event: TextChangeEvent) =
let digit = {'0'..'9'}
if textBox.text[^1] in digit:
label.text = "Number can't be name"
textBox.text = textBox.text[0 .. ^2]
partially because the insertion cursor goes in front of the text (index 0), and the onKeyDown
solution, the pressed char appear in front of everything. i think it is causing because of inserting mechanism.
where to look to find what method textChangeEvent
has. for example keyboardEvent
has key
method.
textBox cursorPos
has to be implemented, this can solve the insertion problem
https://github.com/trustable-code/NiGui/blob/41d7e103c09f23f158afd6df442275cc86a66937/src/nigui.nim#L2382-L2386
When I tried to compile example_01_basic_app.nim
, it gave me runtime error
platform_impl.nim(373) init
platform_impl.nim(173) pEnableVisualStyles
platform_impl.nim(32) pRaiseLastOSError
nigui.nim(935) raiseError
Error: unhandled exception: An attempt to set the process default activation context failed because the process default activation context was already set. (OS Error Code: 14011) [Exception]
I compiled with mingw64-gcc
gcc --version
gcc (Rev3, Built by MSYS2 project) 8.2.0
When I tried and ran using tcc, it's working fine
tcc -v
tcc version 0.9.27 (x86_64 Windows)
I'm on Windows 10 64-bit.
Hi. I tried to compile sample example_02_controls.nim, but compilation was failed:
Hint: unicode [Processing]
/home/r3d9u11/.nimble/pkgs/nigui-0.1.0/nigui.nim(927, 24) Error: invalid character constant
NiGUI installed via Nimble, Linux Mint 18.2.
What I'm doing wrong?
Can I bypass the container layout system and position my controls using absolute coordinates?
/.nimble/pkgs/nigui-0.1.1/nigui.nim(1067, 41) Error: cannot evaluate at compile time: fSystemDpi
Os : linux
Nim : latest devel
Hi,
Trying to compile example_01_basic_app.nim
and get:
...\.nimble\pkgs\nigui-0.1.0\nigui.nim(951, 41) Error: type mismatch: got <char>
but expected one of:
proc toUpper(c: Rune): Rune
proc toUpper(s: string): string
expression: toUpper(cast[char](unicode))
My specs:
I have created a custom Label type to allow a canvas to draw and fill the label with custom colors that wouldn't normally work with a regular Label. However, after creating the MenuLabel type (see below), the label text no longer updates when its changed using label.text = "text here"
where label: MenuLabel
. I've already verified that the value is actually being changed and there is no issues with any values being nil, but is not drawn to the canvas with the updated text value. I believe it has something to do with the the text being drawn onto the canvas only once. If this is a basic fix, sorry, I am very new to Nim, but any ideas/clues as to how I can work around this?
menu_label.nim
import nigui
type MenuLabel* = ref object of Label
proc newMenuLabel*(text = ""): MenuLabel =
result = new MenuLabel
result.init()
result.text = text
method handleDrawEvent*(control: MenuLabel, event: DrawEvent) =
let canvas = event.control.canvas
canvas.areaColor = rgb(23, 25, 33)
canvas.textColor = rgb(255, 233, 83)
canvas.lineColor = rgb(255, 233, 83)
canvas.drawRectArea(0, 0, control.width, control.height)
canvas.drawTextCentered(control.text)
canvas.drawRectOutline(0, 0, control.width, control.height)
Initialization of MenuLabel object
var newFileBtn = newMenuButton("New File")
menuContainer.add(newFileBtn)
newFileBtn.onClick = proc(event: ClickEvent) =
textArea.text = ""
fileName.text= "New File"
Updating MenuLabel text
var pathParts = split(dialog.files[0], "\\")
fileName.text= pathParts[len(pathParts)-1]
EDIT: added syntax highlighting for nim
It is mentioned in the readme that a --path
should be set in your Nim config for the nigui files. It would be nice if the examples folder had a nim.cfg with --path:"../src"
in it so people had an example for how to do that.
Hi
in https://github.com/trustable-code/NiGui/blob/8b88552444215852f5fe999091d55dc12bd4313f/examples/example_02_controls.nim#L25 "\n" do not go to the new line for textArea in Windows!
replace "\n" with "\p" or "\r\n".
thanks and good luck.
How can I right-align three buttons?
This does not work:
import nigui
app.init()
var window = newWindow()
var container = newLayoutContainer(Layout_Horizontal)
container.widthMode = WidthMode_Expand
container.xAlign = XAlign_Right
window.add(container)
for i in 1..3:
var control = newButton("Button " & $i)
container.add(control)
window.show()
app.run()
It looks like if I want bold or italics its not ready yet since there is no style option that I can see. But maybe it would not be hard for me to add that option? I hope.
Hi! I read the examples but I couldn't find a way to display an Image in the same window after clicking a button!
Hi, I have a console async application, is there a possibility to somehow integrate it with NiGui?
After compiling with Nim v1.0 and 1.0.99 on linux I note following issues:
If compiled with -d:release or -d:danger textArea or textBox do not allow input
If there are several events like this
window.onKeyDown = proc(event: KeyboardEvent) =
# Ctrl + F -> Focus on inputBox
if Key_F.isDown() and Key_ControlL.isDown():
inputTextBox.focus()
window.onKeyDown = proc(event: KeyboardEvent) =
# Ctrl + Q -> Quit application
if Key_Q.isDown() and Key_ControlL.isDown():
doFinish()
Only the last one will actually be executed , the others seem to do nothing.
i am a beginner in nim . And i fall in love with nigui, it is easy, fast compile and small executable. please make it complete and don't abandon this awesome project.
great appreciation for your hard work.
edit: i fixed the original problem, but i wanted to keep the appreciation.
compile standard example on Ubuntu 18.04.1 LTS and get error, cannot open display: :1 , how can i fix it ?cannot open display: :1
Is it possible to make a container scrollable, independent of the window? Everything seems to be setup for this to work, but I can't find a way to make it happen. I have tried setting fYScrollEnabled on the container, and even setting the fScrollableHeights, but to no avail.
Like so
====================================
=----------------------------------=
=- stationary text box -=
=----------------------------------=
=----------------------------------=
=- scrollable | -=
=- list | -=
=- of | -=
=- labels | -=
=----------------------------------=
====================================
Trying to run first example from NiGui with i686 MinGW (compiled .exe is 32bit):
E:\Projects\NiGui>example_01_basic_app.exe
could not import: SetWindowLongPtrW
With x32 Visual Studio compiler it's the same.
While compiling for amd64 (with x64 bit mingw or cl.exe), everything works perfectly
Probably NiGui must do checking for i386 or amd64 in winapi bindings, like this - https://github.com/jangko/nimCEF/blob/0946c0b39b1cc4976923a8af4dfc779bb9f6b70b/platform/winapi.nim#L1103
Also:
https://stackoverflow.com/questions/24664245/attributeerror-function-getwindowlongptrw-not-found
https://groups.google.com/forum/#!topic/golang-nuts/pkmwc8k0DpU
Example example_91_unhandled_exception.nim
is missing specification of Layout type in newLayoutContainer()
# This example shows what happens when an unhandled exception occurs in the main loop.
import nigui
app.init()
var window = newWindow()
var container = newLayoutContainer()
window.add(container)
var button = newButton("Raise Exception")
container.add(button)
button.onClick = proc(event: ClickEvent) =
raise newException(Exception, "Test Exception")
window.show()
app.run()
Possible solutions:
Change of var container = newLayoutContainer()
to var container = newLayoutContainer(Layout_Vertical)
.
Set a default for newLayoutContainer()
Would this be a good starting point for adding Mac OS support?
https://github.com/jangko/objc
just a question but without big importance
do you plan to add some graphic thing like lineEnd lineJoin lineStyle and colorPatern on near future for canvas
oh and also I need to have popupmenu
I could do that myself for GTK but no knowledge for the windows side
I have a toy and stupid analog clock with different language to compare them and I would love to add Nimm and NiGui ;-)
thank's and congratulations for NiGui
I propose this basic concept and want to hear your comments:
proc newButton(): Button =
result = new Button
result.Button.init()
# (In reality it creates a NativeButton, I can explain this somewhere else.)
[...]
proc init(button: Button) =
button.Control.init() # call 'init' of base type
# do some initialization:
button.fText = ""
[...]
method dispose(obj: NiGuiObject)
proc dispose(obj: var NiGuiObject) =
let o = obj
o.dispose() # force calling the other 'dispose' proc
obj = nil
More thoughts:
Implementation:
C:\Users\z\NiGui\examples>nim c -r example_10_drawing.nim
Hint: used config file 'c:\Nim\config\nim.cfg' [Conf]
Hint: system [Processing]
Hint: example_10_drawing [Processing]
Hint: nigui [Processing]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(370, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(381, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(401, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(403, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(405, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(407, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(408, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(410, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(411, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(413, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(414, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(416, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(417, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(419, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(420, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(422, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(424, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(426, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(428, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(430, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(432, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(434, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(436, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(438, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(440, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(442, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(451, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(453, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(455, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(457, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(459, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(461, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(463, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(483, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(484, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(486, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(488, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(490, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(492, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(493, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(495, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(497, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(498, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(500, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(501, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(503, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(504, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(506, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(508, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(509, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(511, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(512, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(514, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(516, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(518, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(519, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(521, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(523, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(525, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(527, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(529, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(530, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(532, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(533, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(535, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(536, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(538, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(539, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(556, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(557, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(558, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(559, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(562, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(564, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(566, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(568, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(570, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(572, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(574, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(576, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(577, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(579, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(580, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(582, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(583, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(585, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(586, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(589, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(591, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(592, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(594, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(595, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(597, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(599, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(601, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(603, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(605, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(607, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(609, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(611, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(613, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(615, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(616, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(618, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(619, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(621, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(623, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(625, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(626, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(628, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(629, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(631, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(632, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(634, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(635, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(637, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(638, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(639, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(640, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(642, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(643, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(644, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(645, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(647, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(648, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(649, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(650, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(652, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(653, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(654, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(655, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(657, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(659, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(661, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(663, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(665, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(667, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(669, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(671, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(673, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(675, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(676, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(678, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(679, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(681, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(682, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(684, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(685, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(687, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(688, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(690, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(691, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(693, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(694, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(706, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(707, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(709, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(710, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(712, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(714, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(723, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(724, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(726, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(727, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(729, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(730, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(732, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(733, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(735, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(736, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(748, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(749, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(751, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(763, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(764, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(776, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(777, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(789, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(790, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(802, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(803, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(804, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(805, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(807, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(809, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(810, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(825, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(829, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(835, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(837, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui.nim(839, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase]
Hint: math [Processing]
Hint: os [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: algorithm [Processing]
Hint: times [Processing]
Hint: winlean [Processing]
Hint: dynlib [Processing]
Hint: ospaths [Processing]
Hint: windows [Processing]
Hint: tables [Processing]
Hint: hashes [Processing]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui\private\windows\platform_impl.nim(529, 9) Hint: 'timerEntry' is declared but not used [XDeclaredButNotUsed]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui\private\windows\platform_impl.nim(777, 7) Hint: 'desktop' is declared but not used [XDeclaredButNotUsed]
C:\Users\z\.nimble\pkgs\nigui-0.1.0\nigui\private\windows\platform_impl.nim(824, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseB
CC: nigui_example_10_drawing
CC: stdlib_system
CC: nigui_nigui
CC: stdlib_math
CC: stdlib_os
CC: stdlib_strutils
CC: stdlib_parseutils
CC: stdlib_algorithm
CC: stdlib_times
CC: stdlib_winlean
CC: stdlib_dynlib
CC: stdlib_ospaths
CC: nigui_windows
CC: stdlib_tables
CC: stdlib_hashes
Hint: [Link]
Hint: operation successful (26483 lines compiled; 21.534 sec total; 35.035MiB peakmem; Debug Build) [SuccessX]
Hint: C:\Users\z\NiGui\examples\example_10_drawing.exe [Exec]
Traceback (most recent call last)
example_10_drawing.nim(65) example_10_drawing
nigui.nim(906) run
nigui.nim(882) handleException
nigui.nim(878) raiseError
Error: unhandled exception: A GDI+ error occured. (Status: 2) [Exception]
Error: execution of an external program failed: 'C:\Users\z\NiGui\examples\example_10_drawing.exe '
Controls display unicode well from coding but TextBox couldn't type unicode characters
it is always useful to open a window at the center of the screen (nigui's default behavior). but i wrote a small and simple utility program, i want to set the starting position to a corner of the screen. Exploring all the examples i can't find any answer. And unfortunately i don't know at source code where to look.
Would it make sense, or be possible at all, to also include support for Android & iOS?
I see that you're already at v0.1.1, consider tagging these releases, they make using your package much easier.
Thank you for nice work! That's what I want.
How to use controls such as select list,checkbox,radio?
BTW, how to add address bar when open dialog?
Thank you!
import nigui
app.init()
var window = newWindow()
window.width = 250
window.height = 300
var mainContainer = newLayoutContainer(Layout_Vertical)
var ll = ["foo", "baa", "baz"]
for but in ll:
var control = newButton(but)
control.widthMode = WidthMode_Expand
control.onClick = proc(event: ClickEvent) =
echo but
mainContainer.add(control)
window.add(mainContainer)
window.show()
app.run()
https://nim-lang.org/docs/system.html#closureScope was mentioned in the irc so i tried various
combinations:
var control = newButton(but)
control.widthMode = WidthMode_Expand
closureScope:
control.onClick = proc(event: ClickEvent) =
echo but
mainContainer.add(control)
control.onClick = proc(event: ClickEvent) =
closureScope:
let foo = but
echo foo
mainContainer.add(control)
etc. always the last sequence item is echoed.
Please be aware that the goal is not to get the button description (it only happens to be the same as the but
in this example.)
On Windows 10
When trying to compile and run example_01_basic_app.nim I get this error.
C:\Users\Stromberg\.nimble\pkgs\nigui-0.1.1\nigui\private\windows\platform_impl.nim(32, 27) Error: ambiguous call; both strutils.strip(s: string, leading: bool, trailing: bool, chars: set[char])[declared in ..\..\..\..\C:\nim\lib\pure\strutils.nim(391, 5)] and unicode.strip(s: string, leading: bool, trailing: bool, runes: openarray[Rune])[declared in ..\..\..\..\C:\nim\lib\pure\unicode.nim(1892, 5)] match for: (string)
Nim version:
Nim Compiler Version 0.19.4 [Windows: amd64]
Compiled at 2019-02-01
Copyright (c) 2006-2018 by Andreas Rumpf
Hi,
I have a simple app with a textbox and a button in a container.
On Windows, setting the font for either textbox or button works fine, but on Linux nothing happens. The font family and the font size changes have no effect. The code is:
var textbox = newTextbox("00:00:00")
textbox.fontSize = 50
textbox.fontFamily = "Courier"
var button = newButton("START")
button.width = 100
button.height = 40
button.fontSize = 30
button.fontFamily = "Courier"
I am testing on a Raspberry Pi 3 (Raspbian)
with Nim Compiler Version 0.18.1 [Linux: arm] Compiled at 2018-05-22
This program leads to a SIGSEGV with Linux/Gtk and Nim 0.20.0 and not "--multimethods:on".
From Nim 0.20.0 release notes:
"Methods are now ordinary βsingleβ methods, only the first parameter is used to select the variant at runtime. For backwards compatibility use the new --multimethods:on switch."
NiGui should work without multimethods.
Test program:
import nigui
app.init()
var window = newWindow()
var box1 = newLayoutContainer(Layout_Vertical)
window.add(box1)
var box2 = newLayoutContainer(Layout_Horizontal)
box1.add(box2)
window.show()
app.run()
Result:
main.nim(11) main
nigui.nim(761) add
nigui.nim(1790) add
nigui.nim(1527) triggerRelayout
nigui.nim(1303) triggerRelayout
nigui.nim(903) relayout
nigui.nim(1567) relayout
nigui.nim(643) setSize
platform_impl.nim(1120) setSize
nigui.nim(1778) setSize
platform_impl.nim(1002) setSize
nigui.nim(1452) setSize
nigui.nim(905) realignChildControls
nigui.nim(2197) realignChildControls
nigui.nim(651) setPosition
platform_impl.nim(1009) setPosition
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.