Commit Graph

60 Commits

Author SHA1 Message Date
Jeff Carr a132b48ada further code cleanups
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-28 10:30:27 -05:00
Jeff Carr 132efe17fe gocui: closer to working layout
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-26 01:59:42 -05:00
Jeff Carr d8a1c53757 gocui: more spacing logic
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-26 00:07:09 -05:00
Jeff Carr 11d3f20c4a gocui: compiling and running again
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-08 15:34:36 -05:00
Jeff Carr 85c2fb8d70 andlabs: the binary tree limps along again
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-08 11:06:50 -05:00
Jeff Carr 51b109a976 more code deprecation
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-08 09:17:17 -05:00
Jeff Carr d4b3283484 gocui: keep deprecating non-gochannel code
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-08 08:40:31 -05:00
Jeff Carr 7f907e2b19 gocui: working towards correct layout
make a gocui widget binary tree
    more debugging cleanups
    sample button app displays in gocui
    geometry logic closer to correct
    improvements in gocui layout
    continued attempts to clean up tabs
    dump binary tree
    moving towards proper chan callback()
    deprecate Widget.Name

Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-04-03 10:26:47 -05:00
Jeff Carr b99e4425fa add semi-working gocui
commit 947169df5a22c9f9b53f825764747f648c70ff1e
Author: Jeff Carr <jcarr@wit.com>
Date:   Wed Mar 29 22:44:08 2023 -0500

    ready for version v0.7.4

        start deprecating toolkit.Widget
        switch to variable name 'ParentId'
        use 'ActionType' and 'WidgetType'
        preliminary redraw()
        final definition of variables 'Name' and 'Text'
        more cleaning of the code
        remove lots of dumb code
        bind 'd' key press to dump out debugging info
        early color handling in gocui!

    Signed-off-by: Jeff Carr <jcarr@wit.com>

commit 6013fde8332e8ecbffaf1a0977ba2e1da8ea8775
Author: Jeff Carr <jcarr@wit.com>
Date:   Sun Mar 26 17:19:20 2023 -0500

    improvements towards a working dns control panel

        democui has the help menu
        try to add mouse support to gocui
        make a direct access method
        Margin() and Pad() tests
        add SPEW
        also push devel branch to github

    Signed-off-by: Jeff Carr <jcarr@wit.com>

commit 6f91f5e080e06cdc0f34b13d23e5fd16ea37259a
Author: Jeff Carr <jcarr@wit.com>
Date:   Fri Mar 24 20:14:18 2023 -0500

    starting to try safe chan and goroutines

        fix tab title's
        right before attempting to add chan goroutines
        removed "where" widget pointer
        box added to tab
        experiement with log as it's own repo

    Signed-off-by: Jeff Carr <jcarr@wit.com>

Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-03-29 23:03:04 -05:00
Jeff Carr fa356841bf Squashed commit of the following:
boxes now exist and are tracked in the binary tree
    create for group and grid works
    gocui plugin no longer works. TODO: fix in next release
    converted everything from plugin to Action()
        can remove send()
        tab and window are now action()
        flags moved to action()
    ready for new release
    pad() margion() border() all work
    move worked!
    go.wit.com attept 578th try
    adds an early grid widget. won't work until chan
        andlabs/ui grid (X,Y) works right
        actually can put things in places in a grid
        Queue() means shit doesn't look right on grids
    lots of fucking around. why am I wasting time on image?
    wow. the crazy doAppend() thing is gone
    implement Action Show() and Hide()

Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-03-23 12:35:12 -05:00
Jeff Carr 6196739d82 lots cleaner code between the plugin
Queue() around SetText is helping userspace crashing
    merge forceDump(bool) into Dump()
    debugging output configuration is pretty clean
    keep cutting down duplicate things
    --gui-verbose flag works
    make label "standard" code
    add debug.FreeOSMemory()
    move the GO language internals to display in the GUI
    update push to do tags and go to github.com/wit-go/
    remove the other license file
        it might be confusing golang.org and github
    proper WidgetType
    added a Quit() button

Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-03-01 11:35:36 -06:00
Jeff Carr 053ea69885 The debugging window is finally useful
the gui enabled debugging works
        --gui-debug works from the command line
        The debug window can now select things
        debugging now includes widget types
        all the debug flags work
        finally working debugging flags via gui checkboxes
    add debian packaging rules
    use log() in the toolkit
    use a standard log() to simplify debugging flags
    add reference to 'GO Style Guide'
    use the same LICENSE from the GO developers.
    TODO: make this threadsafe
    TODO: fix plugin stuff

Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-02-25 14:05:25 -06:00
Jeff Carr 4242393152 setup building without plugins on windows
notes from github remote
keep removing os.Exit()
rename from andlabs2 back to andlabs
rename files for windows andlabs/ui
gocui always sets STDOUT a file in /tmp/

Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-11-14 14:30:28 -06:00
Jeff Carr 8221522ba8 Massive refactor to use go plugins. This is neat.
update README.md
    set xterm title. make os.Exit() default on window close
    add a toolkit.Widget to the node structure
    remove 'Greeter' symbol mapping scheme
    removed the testing greeter code
    plugins:
        attempt to load plugins in a sensible order
    andlabs/ui:
        working andlabs/ui plugin (andlabs2)
   	buttons work in andlabs plugin
	TODO: re-implement non-plugin version for Windows
		mswindows doesn't support go plugins yet
    gocui:
        put the gocui console so file in the binary
        does a full init of gocui plugin
        Button() and Group() working very well with gogui
    	cleanly exit gocui
    technically you can load two toolkits at the same time
        kinda both working at the same time. esoteric
        two working plugins at the same time
        give up working on two gui's at the same time
        this is fun, but _not interesting
        wow. this actually works. NewButton() from both toolkits
    examples:
        all the examples run again
        remove early helloplugin example
        buttonplugin example cmd code
        buttonplugin runs and ldd is minimum

Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-11-13 08:53:03 -06:00
Jeff Carr 482c3ef8eb start trying to make the tookits plugins
totally minimize helloworld demo
    try to make a button plugin example
    debug changes
    final changes before attempting to use a golang plugin
    actually running gocui as a plugin
    add gocli-as-plugin example
    try to convert the go-cui toolkit into a plugin
    doc updates
    make a minimal console gui

Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-11-06 12:59:24 -06:00
Jeff Carr c5735353a6 v0.4.1 set sane toolkit default look and feel
autogenerate README.md from doc.go (goreadme cmd)
    remove passing arguements on a mouse click()
    make defaults for padding, margin, stretchy, etc
    add a checkbox widget
    function rename to NewButton()
    keep cleaning up toolkit code
    fix date. I was somehow in the future

Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-10-21 11:40:08 -05:00
Jeff Carr d28f0eb8c1 Squashed commit of the following:
all non binary tree structs are gone (almost all)
    Use names from https://en.wikipedia.org/wiki/Graphical_widget
    toolkit andlabs/ui is isolated from being accessable
        all direct references to andlabs are removed
    working dropdown widgets
    add debugging more buttons and windows
2022-10-20 06:55:42 -05:00
Jeff Carr 6286635049 Refactor to 'gui/toolkit/'
* add a example cmds/consolemouse
       uses a console button to launch the andlabs/ui
    * fix wrong return value in toolkit/NewLabel()
    * redirect STDIN output to a file
    * wonderful fix of Window() exit
    * finally remove the ancient stupid variables x & y
    * phase out struct 'box' and use 'node' instead
    * better names for things: use NewFoo() and NewBar()
2022-10-19 13:23:22 -05:00
Jeff Carr dbbffdffa3 remove old code
Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-10-17 16:55:30 -05:00
Jeff Carr fbf97443d5 Add slander and spinbox in toolkit/andlabs
fix the helloworld demo
    move slider into toolkit/
    move more into the toolkit directory
    add spinbox()
    fix example
    minor update
    fix examples
    Fix andlabs.ui.Slider() to work again
    correctly implement custom OnChange() callback

Signed-off-by: Jeff Carr <jcarr@wit.com>
2022-10-16 08:07:13 -05:00
Jeff Carr 9076499b30 Merge branch 'master' into devel 2022-10-11 11:59:42 -05:00
Jeff Carr 390556e083 Change Node to Box 2022-10-11 11:25:46 -05:00
Jeff Carr c91d7d52b8 SMALL: some stuff hanging around
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-11-04 05:46:49 -05:00
Jeff Carr 20899fc2b4 PANIC: remove almost all panic()s
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-11-04 00:12:48 -05:00
Jeff Carr 8d5b885b3a GUI: show error windows
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-11-03 22:41:22 -05:00
Jeff Carr 9c946630a1 WINDOW: try to properly destroy a window
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-11-03 01:44:32 -05:00
Jeff Carr 9960652ec7 TABS: very reliable tab, window and node handling
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-11-01 03:44:39 -05:00
Jeff Carr 51d324e805 CLEAN: more code removals
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-31 22:22:16 -05:00
Jeff Carr db6c60decc REFACTOR: remove GuiWindow & GuiBox
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-31 21:46:30 -05:00
Jeff Carr d6980daa81 BOX: kill GuiBox
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-31 21:07:36 -05:00
Jeff Carr df1978e6a8 BOX: more removals of GuiBox
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-31 20:52:19 -05:00
Jeff Carr f7ead697d3 REFACTOR: refactor everything to gui.Node struct
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-31 14:21:36 -05:00
Jeff Carr 2ccc1b518d REFACTOR: things are back to working as they were
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-06 14:32:07 -05:00
Jeff Carr 908615c038 TAB: correctly lookup and add tabs to blank windows
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-06 13:23:00 -05:00
Jeff Carr 790e6f2c46 REFACTOR: continue to move in a better direction
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-06 10:43:58 -05:00
Jeff Carr cabdb12495 BUILD: suck it up and try to use go.mod
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-06 05:14:24 -05:00
Jeff Carr facc785798 BUG: fix WxH
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-06 01:52:27 -05:00
Jeff Carr ccb91460ca BUG: fix potential 'nil' reference
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-05 10:23:27 -05:00
Jeff Carr 6438e4cc6a CODE: not sure, but it compiles and runs somehow
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-05 09:29:55 -05:00
Jeff Carr 90d8111ada TAB: automatically set all tables to SetMargined(true)
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-05 02:00:32 -05:00
Jeff Carr e6c44cd2d3 ANALABS: work on improving the abstraction
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-04 23:38:45 -05:00
Jeff Carr 71a9b13236 TAB: code to more correctly handle gtk tabs
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-04 21:33:03 -05:00
Jeff Carr c670905b74 WINDOW: add function to create completely blank window
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-04 20:18:51 -05:00
Jeff Carr cfc778b04f MINOR: minor change
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-04 19:50:29 -05:00
Jeff Carr 534d631c98 WINDOW: add CreateWindow that has proper padding
Signed-off-by: Jeff Carr <jcarr@wit.com>
2021-10-04 14:39:38 -05:00
Jeff Carr 04c9f6d89d correctly check for no tabs before Destory()
Signed-off-by: Jeff Carr <jcarr@wit.com>
2019-06-17 14:45:42 -07:00
Jeff Carr e00cbad32e shorten times
Signed-off-by: Jeff Carr <jcarr@wit.com>
2019-06-17 10:28:40 -07:00
Jeff Carr c55a039042 allow a custom Exit()
Signed-off-by: Jeff Carr <jcarr@wit.com>
2019-06-17 08:09:28 -07:00
Jeff Carr 291f18c1c0 woops. pretty wrong error in making a new window
Signed-off-by: Jeff Carr <jcarr@wit.com>
2019-06-17 07:07:54 -07:00
Jeff Carr 7da54784fb don't use Data.Windows anymore
Signed-off-by: Jeff Carr <jcarr@wit.com>
2019-06-14 15:41:30 -07:00