Comments (13)
Hello,
I don't have any support for forms yet. I will add support for forms eventually, but it could take a while.
cl-charms or cl-ncurses do not yet have any low-level support for forms either.
At this moment, you will have to generate your own bindings, either by swig or manually. I do not have experience with swig, so I cant help you there.
Good luck.
from croatoan.
I'm excited to see the new forms tests! I'm trying to run some, and edit was complaining that scr wasn't included in the win argument. I'm likely jumping ahead, but thanks for working on this.
from croatoan.
If you found a bug, or if I can help with your code, dont hesitate to ask.
from croatoan.
What are your plans for the forms?
One of the items that I'm looking for is data entry fields with autocomplete, perhaps as a custom widget if needed. Could the current code support that?
I was pleased to tinker with your test code and it looks like a tab oriented CRUD form could be done with it.
EDIT:
I noticed the blocking/nonblocking inputs (100% in the notes). Is there an option to have any kind of concurrency to do other tasks while waiting for input (ie: for the autocomplete text entry widget, maybe the lookup doesn't cause the client to stop typing)?
from croatoan.
If time permits, I'm going to reimplement the functionality of ncurses forms library. But that will take some time.
The current code is very, very far from what the ncurses forms library provides. Autocompletion similar to emacs company mode is a long-term goal, yes, but I dont think I'll get it done in the near future.
from croatoan.
I believe that's the crux of the matter: whether you reimplement or just import form.h.
Autocompletion is an add-on that could be custom coded if everything is in lisp.
from croatoan.
I would also love to see a forms implementation, once I learn enough Lisp to make use of it. The one feature that I usually find lacking in most TUI libraries I've used that I'd love to see would be what some call an input template. For example. for a phone number entry field, I prefer to have the interface display the filler characters "( ) - ", and automatically skip over them as data is entered. I was spoiled by that functionality in dBase back in the '80s. In dBase, it was as simple as:
@ 2,5 Say "Phone Number:" Get PhoneNumber Picture "(999)999-9999"
Read
It would skip over the ()- filler characters and only accept numeric input in each position containing a 9.
from croatoan.
God I'd LOVE to find a TUI dBase clone.
from croatoan.
dBase was interactive. Eventually a compiler for the dBase language came out named Clipper. Harbor is an open source implementation of the Clipper compiler:
https://Harbour.GitHub.io/
Unfortunately its TUI does have some limitations, like only having seven colors, and the only controllable text attribute is highlight. So one can't do things like underlining input fields. That's why I keep searching for better TUI libraries.
from croatoan.
I've looked at Harbour. I just can't stand the language. You'd think a modern language would have TUI library. Every language I used in school had one by default.
from croatoan.
You only can have a complete library if somebody sacrifices his time and actually works on it. The time I can invest is very limited, so progress is very slow.
It makes no sense to expect a tiny hobby library in a niche language to ever match functionality offered by systems like dbase, vb or turbovision that were funded by massive corporations and had hundreds of thousands or even millions of paying users back in the day.
My suggestion is that you should look into contributing to the forms implementation. If you have an idea you'd want to see, try to implement it yourself. It could take years waiting till somebody else does it.
from croatoan.
I don't have expectations of delivery. I appreciate the work you've put in. We're only commenting here because it's relevant. Thank you for your work so far, and perhaps we can together get a forms solution going sometime.
from croatoan.
from croatoan.
Related Issues (20)
- Missing a way to check if a window was deleted HOT 3
- Question build a cli interface using croatoan HOT 2
- wrong information in docstring HOT 2
- Compile /src/util.lisp HOT 2
- Issue with wbkgrnd when upgrading from ncurses 6.1 to 6.2 HOT 13
- apparently unicode support was lost with sbcl 2.0.3 HOT 7
- Does not build - ncurses issue HOT 2
- support for 24bit color HOT 6
- Missing 'raise-to-top' HOT 6
- Fitting message text in a dialog-window changed HOT 3
- proposing for some helpers function for complex-string HOT 4
- Last char drawn to menu choice to not be last char of string HOT 2
- Class hierarchy and naming of position slots/accessors HOT 7
- Foreign library definitions missing for MS Windows HOT 3
- [help] Using mouse event with bind HOT 19
- Documentation HOT 4
- Tags and releases HOT 11
- Lisp warnings rendered in ncurses application after connecting to the REPL HOT 6
- #\horizontal_ellipsis is not recognized by some implementations HOT 2
- Compilation issue with last commit HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from croatoan.