1) Dashboard for DCS7
Think of the dashboard in MacOSX; clicking an icon would bring up a scrolling bar of draggable widgets. I could implement DarkFire-style task switching to get a couple small widgets running effectively. Plus, I could make it such that clicking on a widget brings up a normal DCS program (ex; clicking an animated clock brings up a window through which you could set the time and such, through standard DCS gui)



2) Simplified GUI creation
For those who are new to the calculator programming scene, jumping into DCS7 GUI might be a little daunting. There are a two ways (that I see) to approach this problem.

a) completely automated TIBasic to TIB+DCS7 parser. Think of something along the lines of this Menu( parser I wrote a bit back.
rthprog wrote:
So based on Swivel's idea, I wrote a pretty simple Celtic3 based program that swaps your Menu( with a graphscreen version.

Based on the amount of content, it decides to lay your Menu out either horizontally or vertically, though you can change this manually.

Look at the ReadMe for more details.

Get it here http://ow.ly/1ZL1u
http://cemetech.net/forum/viewtopic.php?t=4619

Rather than just replacing Menu(, it could replace Input, Prompt, Output(, and Disp as well. The only problem is that bringing a terminal-style UI to button based GUI is a bit challenging. For example, say we had a simple program like this

Code:
:Input A
:A-->C
:Input B
:B-->A
:C-->A
:Disp A, B


Simple enough, right? The resulting DCS program would have to allow the user to go back and edit the values of A and B on the fly; just imagine how complicated updating multiple variables could become!

b) GUI creatorWith some sort of visual ide, users could create input-fields, place then where they wanted, and then assign some block of code to run whenever any one of them were updated (if button1 is pressed, do this. if text field 1 is updated, do this... etc...) While this is an attractive option, it would make it difficult to create dynamic GUIs (say, where a button pops up only when it is applicable)...

3) Automated Memory Management
Probably the simplest of the three. Simply put, it would add code to the start (but below the header) of all/user-selected TIBasic programs, allowing my program to a) check for new programs, and add the same header to those, b) track usage, and c) automatically archive programs that aren't run very often.

There are a couple of problems though. First off, for programmers, such a program would make sharing difficult-- you would have to remove my additional code from your programs to be able to share them, or specifically blacklist your new programs. Second, it could periodically dramatically increase the amount of time it takes to open a program. Sure, this could be handled by an alert of some sort, but even that would be annoying. Third, it would come within a stone's throw of a virus.

Anyways, these are just some ideas I'm mulling over that I wanted to share. Feel free to "steal" them from me; I probably won't have time to get to them anyways (I'm moving! woohoo!), and I would love to see someone else's take-on/implementation-of them.
rthprog wrote:
1) Dashboard for DCS7
Think of the dashboard in MacOSX; clicking an icon would bring up a scrolling bar of draggable widgets. I could implement DarkFire-style task switching to get a couple small widgets running effectively. Plus, I could make it such that clicking on a widget brings up a normal DCS program (ex; clicking an animated clock brings up a window through which you could set the time and such, through standard DCS gui)
That would be very nifty! I would certainly be interested in seeing how you would implement something like that.

rthprog wrote:
2) Simplified GUI creation
a) completely automated TIBasic to TIB+DCS7 parser.
b) GUI creator
Someone was asking me yesterday about making a computer-side GUI creator for DCS ASM programs. How awesome would a BASIC GUI creator to help you generate BASIC GUIs be? I'll tell you. SO AWESOME.

rthprog wrote:
3) Automated Memory Management
Probably the simplest of the three. Simply put, it would add code to the start (but below the header) of all/user-selected TIBasic programs, allowing my program to a) check for new programs, and add the same header to those, b) track usage, and c) automatically archive programs that aren't run very often.

There are a couple of problems though. First off, for programmers, such a program would make sharing difficult-- you would have to remove my additional code from your programs to be able to share them, or specifically blacklist your new programs. Second, it could periodically dramatically increase the amount of time it takes to open a program. Sure, this could be handled by an alert of some sort, but even that would be annoying. Third, it would come within a stone's throw of a virus.
That would also be very interesting, although I'd have to think more about the implementation of that one.

I definitely hope you get to some if not all of these at some point, even if it's not for the contest! The GUI Creator particularly appeals to me.
KermMartian wrote:
rthprog wrote:
2) Simplified GUI creation
a) completely automated TIBasic to TIB+DCS7 parser.
b) GUI creator
Someone was asking me yesterday about making a computer-side GUI creator for DCS ASM programs. How awesome would a BASIC GUI creator to help you generate BASIC GUIs be? I'll tell you. SO AWESOME.
...I definitely hope you get to some if not all of these at some point, even if it's not for the contest! The GUI Creator particularly appeals to me.

Lol, agreed; it's definitely the most interesting, but also the most complicated. I almost feel that the process would become so convoluted that end-users would find it easier to just learn how to code with DCS libs themselves.
I suppose. I could envision it as:
Step 1: Choose a Groupmaster (GUIRNull, GUIRLargeWin, GUIRSmallWin)
Step 2: Enter title / icon / (position?)
Step 3: Would you like WinButtons? Which ones?
Step 4: Add content (menu of possible content items; a GUIMenu would make that easy Very Happy)
Step 5: Continue step 4 until finished
Step 6: Export TI-BASIC code.

Of course, Step 4 would involve separate sub-steps for all the different types of GUI elements, and it could turn into quite the convoluted program.
oh wow, 2b) in BASIC for BASIC is actually my contest entry Very Happy
calcdude84se wrote:
oh wow, 2b) in BASIC for BASIC is actually my contest entry Very Happy
Superb! Can't wait to see it, then; you haven't really publicized it yet. Smile
KermMartian wrote:
calcdude84se wrote:
oh wow, 2b) in BASIC for BASIC is actually my contest entry Very Happy
Superb! Can't wait to see it, then; you haven't really publicized it yet. Smile

Seconded! Will your implementation allow generated programs to run independently though? I've never been able to get generated code to run without either a) relying on a program of my own, or b) being obscenely large and pathetically wasteful.

And ooh, I forgot one: 4) MOS style list-based "file explorer"/batch (un)archive/(un)lock/(un)hide/delete As much as I like DCS, it's rather tedious to do anything with lots of programs, as well as scroll to find the program you're looking for (admittedly b/c I don't keep it alpha-sorted; with 160+ programs, it takes too long)
My goal is something more along the lines of just generating the sum(7 statements as the end result (Probably in a string or in a certain program if I use the Celtic III libs). More than anything, I intend it to be a tool to help with layout or in case you forget the element numbers Razz
One thing I would love someone to make is a bulk-move program to help people quickly move files between folders. Maybe check a bunch of programs, then select a folder to move to, something like that? If no one does it, I might eventually give it a try. It would be a fun project for someone, though.
KermMartian wrote:
One thing I would love someone to make is a bulk-move program to help people quickly move files between folders. Maybe check a bunch of programs, then select a folder to move to, something like that? If no one does it, I might eventually give it a try. It would be a fun project for someone, though.
boo, ryhan can't access dsc folders in basic b/c _someone_ decided that such functionality would lead to too many basic shells Razz
That, and it would have been time-consuming for him to build the BASIC interfaces for such things. Wink You _could_ always use Celtic functions to find prgm%FLD# though, where #={1,255}, no?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement