On Tuesday, 29 November 2016 20:37:55 UTC+2, bia...@gmail.com wrote: > > If you already knew theres an existing library, why write a new one? >
It's a proof-of-concept not a library -- libraries take several magnitudes more effort. I've written, I guess 7+ different versions of UI libraries/proof-of-concepts. Partly due to work, partly because I want a proper GUI library for Go; but I'm still trying to find a design I'm satisfied with. Different libraries make different trade-offs... when they don't make important trade-offs they will be difficult to use or not useful in practice. The approach I showed, makes trade-offs in making UI "less flexibible", but at the same-time it makes easier to manage different content and records. Now the other libraries tend to make UI more "flexible", but they make handling the business and binding with business logic harder. (Of course, there are also differences in event logic and ease of understanding...) *Also there's no reason you couldn't combine ideas from both approaches.* Self-challenge of some sort? :) It's really something though. > For me, it was mainly a relaxing and clarifying exercise. Rewriting code helps me to see new viewpoints and figure out how to better structure code. Also, in this case, was useful for someone else. + Egon > > On Wednesday, November 30, 2016 at 1:51:20 AM UTC+8, Egon wrote: >> >> On Tuesday, 29 November 2016 19:35:21 UTC+2, bia...@gmail.com wrote: >>> >>> Did you write that code just for this thread? >>> >> >> Yeah, had 2hrs of fun with it :) >> >> >>> I really appreciate it. That gives me options. It runs and its possible >>> for me to setup something based on this. >>> >> >>> On Tuesday, November 29, 2016 at 11:10:44 PM UTC+8, Egon wrote: >>>> >>>> On Tuesday, 29 November 2016 14:03:13 UTC+2, Ronny Bangsund wrote: >>>>> >>>>> >>>>> >>>>> On Tuesday, November 29, 2016 at 7:11:57 AM UTC+1, bia...@gmail.com >>>>> wrote: >>>>>> >>>>>> I've been wondering how I should setup input fields..... should >>>>>> termbox be responsible for it? or termui as you suggested (this seems >>>>>> more >>>>>> for monitoring...) or even gocui? >>>>>> >>>>> I've tested termui and GOCUI extensively, and found both to be the >>>>> best options for exactly that sort of thing. I did have to modify >>>>> things/make custom widgets to get lists working how *I* like them, but >>>>> it's >>>>> very easy to use. >>>>> >>>>> I'm leaning slightly towards GOCUI personally, but that doesn't mean >>>>> you should reach for that without testing termui. Both are fairly easy to >>>>> set up, but they have different ways of handling input and updating the >>>>> display. >>>>> >>>>> If anyone is kind enough to show some example code of a page with >>>>>> input fields.... maybe 1-2 input fields it'd greatly help. >>>>>> >>>>> There isn't really much to it. There are very few widgets - >>>>> everything is basically a bit of text, with or without a border, with >>>>> different colours and/or cursors to indicate its purpose. Examples of >>>>> what >>>>> you need would be useful. >>>>> >>>>> For more direct help I can recommend the Gopher Slack (I can show more >>>>> of my code there). >>>>> >>>>> >>>> Depending on how much different behavior you need, it's possible to >>>> implement your own basic library for handling UI on the terminal. >>>> >>>> You can take a look at a proof of concept here: >>>> https://github.com/egonelbre/exp/blob/master/dos/main.go >>>> >>>> Of course, you would need to re-implement it yourself and adjust to >>>> your own needs. >>>> >>>> NB: Dig around in the code-base, if you don't feel comfortable with it, >>>> then you probably should use an existing library. >>>> >>>> + Egon >>>> >>>> >>>> >>>> >>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.