HistoryGui a gui for History objects
The gui elements in detail:
button start stops and starts History _if_ gui.history is current.
popUp sameDoc/newDoc switches whether the postDoc method posts to old post-doc window or new.
button closeAll closes all documents called "History repeats",
button closeOld closes only those created from this gui, except the latest.
button X/- turns filtering on/off
popup \all selects which key to search for (only useful if networked)
textview allows for typing in search string.
listview shows either all lineShorts, or the filtered lineShorts;
selecting them in listview makes them come appear in post-doc window.
(
h = History.new.lines_([
[0, \me, "1+2"],
[1, \me, "3+5"], [1.234, \you, "q = q ? ();"],
[3, \her, "\"Herstory\".speak"]
]);
g = h.makeWin;
g.findDoc;
g.postDoc(2);
)
h.document;
// how filtering works:
g.filters.postcs;
g.filterOff;
g.filterOn;
g.filtering;
g.setKeyFilter(\all);
g.setKeyFilter(\me);
g.setStrFilter("");
g.setStrFilter("3");
// internal state cached in gui:
g.filteredIndices;
g.filteredShorts;
// to do: execute line on special key in listview;
// window following?