Thursday, January 11, 2007

At long fricking last! The filetagger is here!

OK, OK, I know this isn't anappamonth.com, but there was a lot I wanted to do right in this first serious application. And I'm quite happy with it! Tired, but happy. You can see the results of my handiwork here (code and download available there, too).

I did this app with my (now marginally working) wxpywf framework, which combines wxPython GUI with my XML-oriented wftk project. This framework started as a simple way to put together UIs for workflow applications under the wftk, but I lost development steam a few years ago due to many Real Life factors. That seems to be changing (insert vigorous wood-knocking here). The module has a few nice features:
  • XML definition of the entire UI of an application, using frames and dialogs. In comparison with the traditional call-by-call technique for setting up a wxPython UI, this is incredibly convenient.
  • Application-specific code grouped into simple commands.
  • Each frame and each dialog automatically binds to an XML record which can be addressed on a field-by-field basis.
  • HTML can be used for more textual interfaces; links generate commands which can have arbitrary effects on the UI (in this case, clicking on a link in the tag cloud switches the tabbed frame to the file list and displays the files with the tag selected.)
  • So far, the UI can include tabsets, list controls, HTML windows, rich text controls, checkboxes, radio button groups and listboxes, command buttons, and static text.
Anyway, it works for this app. The filetagger fulfills most of the requirements I posted last month, and can easily be added to the SendTo menu and assigned to a file extension (although I leave those as an exercise for the reader at this point -- did I mention I'm really tired?) I didn't implement any export capabilities, for instance. But it would be really easy to do so.

It's a good first draft!

4 Comments:

At 3:44 AM, Anonymous Anonymous said...

Cross posted from the File tagger thread at the software jedi:

"This is a stupid question, but how do I use it? On my laptop I had to drag one of the python files onto it to load it up, and it didn't seem to save the tags. On my desktop, nothing happens when I double click it.

Is there something I need to run it? Thanks in advance.

ps double thanks for doing this"

To clarify, when I double click the exe file it extracts about 6 python files, and when I click it again it hides them. The only way to get the actual GUI to appear is to drag a python file into the program (which prompts a syntax error). Sorry for this, but I'm seriously anxious to try this out now. :)

 
At 11:50 PM, Blogger Michael said...

Whew! Did I mention I was tired when I posted it? Ha!

OK, I neglected to test the case of invocation without a command line. The thing is intended to run like this:

filetagger1.exe [name of database]

I've put a new version up that will use "default.ftg" if you don't specify anything on the command line, or you can use the one you've got, but give it a database file on the command line.

Hmm. I should post instead of commenting.

 
At 11:11 PM, Anonymous Anonymous said...

Congrats on reinventing the goddamn wheel. ie, xml-described UI

 
At 6:20 PM, Blogger Michael said...

Thanks, choron. It means so much coming from you.

 

Post a Comment

<< Home