The Classifier

 

This will be a new feature that allows a different kind of access to the verbs in the network. Its intent is to permit grouping of verbs by their characteristics. The idea is to have 32 flags associated with each verb. I'll have to grind through the list and assign values to each verb for each of the 32 flags. Ugh, that's 32,000 decisions I'll have to make &emdash; what a job! Anyway, once that's done, things get much easier. When I bring up the verb classifier, I shall have a vertical list of all the flags. Hmm, that's 20 pixels per entry or 640 pixels of vertical height. Sheesh, this is going to eat up too much vertical screen space; some more thought is required here.

 

In any event, I propose to have five columns. The first column presents the verb classification label. The second column shows a checkbox indicating the classification values assigned to ThisVerb. The third, fourth, and fifth columns indicate the values to be used in a database search. They are for "yes", "no", and "don't care". They are radio buttons; one of these three must be set in each row. They default to matching the classification values assigned to ThisVerb. Next to this long vertical list is a tall scrollbox showing all the verbs whose classification values match the currently specified set. The user can click on any radio button at any time; doing so triggers a new database search and display.

 

That problem of vertical screen space is going to be tough. I just checked and the buttons can be squeezed down to 18 pixels apiece, but that still requires 576 pixels. Since the current display bottoms out around y = 250 pixels, that would boost the final requirement to about 825 pixels. I don't want to require more than a 17" monitor (1024 x 768). So, what to do?

 

I have two choices: crowd it vertically or split into two columns. I'll go with the latter. Even at 20 pixels per row, 16 columns would require only 320 pixels, which gives plenty of space. This is the way to go.

 

The classifier yields a verb that is "On Deck"; I shall refer to this verb in my code as OnDeckVerb. This is the verb selected inside the scrollbox (which now will hold fewer entries, curses). Double curses: I shall have to keep track of all those damn coordinates as the scroll bar is moved. The OnDeckVerb can also be chosen with the Network Navigator, and is always entered into the two buttons for adding to consequence list.

 

Dum-de-dum-dum: I can't have the "Add to ComeFrom List" button anymore, because it does not specify the role to which an addition would be assigned. Triple curses! And of course you can't add an OnDeckVerb if you haven't yet selected a ThisRole. Sheesh, this gets messy. Things are slowing down.