From: W. Trevor King Date: Sat, 15 Jun 2013 16:09:51 +0000 (-0400) Subject: hooke/ui.tex: Fill in user interface section X-Git-Tag: v1.0~57 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0d4d6c3bd48735c428b516a366f78410bd501a49;p=thesis.git hooke/ui.tex: Fill in user interface section Also add a screenshot of the GUI. --- diff --git a/src/figures/binary/hooke-gui.png b/src/figures/binary/hooke-gui.png new file mode 100644 index 0000000..598f098 Binary files /dev/null and b/src/figures/binary/hooke-gui.png differ diff --git a/src/hooke/ui.tex b/src/hooke/ui.tex index e422fb3..8087fb0 100644 --- a/src/hooke/ui.tex +++ b/src/hooke/ui.tex @@ -1,3 +1,68 @@ \subsection{The user interface} \label{sec:hooke:ui} +\Hooke commands are written with abstract argument definitions (using +the cleverly named \imint{python}|Argument| class). This makes it +easier to add new user interfaces (UIs), because at the a basic level +the user interface is just about selecting commands and arguments to +pass to them. In my work on \Hooke, I borrowed from the graphical +user interface (GUI) version from Concordia with the original +partially-command-line-version from Bologna to produce two independent +interfaces: a command line interface (CLI) and the GUI. You can do +exactly the same things in either interface; choosing whichever is +most convenient for the task at hand +(\cref{fig:hooke:cli,fig:hooke:gui}). I usually use the CLI for +scripting and routine tasks and reproducible analysis, but fire up the +GUI when I'm exploring new data. + +\begin{figure} + \begin{center} +\begin{minted}{console} +$ hk.py +Hooke version 1.0.0.alpha (Ninken) +... +---- +hooke> new_playlist --output_playlist mylist + +Success + +hooke> glob_curves_to_playlist *.jpk + + +Success + +hooke> curve_info +name: 2009.04.23-15.15.47.jpk +path: /.../hooke/test/data/vclamp_jpk/2009.04.23-15.15.47.jpk +driver: +note: None +command stack: [] +blocks: 2 +block names: ['approach', 'retract'] +block sizes: [(4096, 6), (4096, 4)] +Success +\end{minted} + \caption{Creating a playlist with two JPK files in the Hooke + command line interface.\label{fig:hooke:cli}} + \end{center} +\end{figure} + +\begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{figures/binary/hooke-gui} + \caption{Creating a playlist with two JPK files in the graphical + Hooke interface. You can see the output of the last \gui{curve + info} call, which matches the output from the command line + version (\cref{fig:hooke:cli}). This screenshot is a bit + cramped (to fit on a printed page), but the + \href{http://www.wxwidgets.org}{wxWidgets} GUI toolkit provides + automatic support for interactively rearranging and resizing + panels. The tree of commands is in the upper left corner. + After you select a command, the table of argument in the upper + right corner is populated with default values, which you can + adjust as you see fit. The \gui{Playlist} panel provides an + easier interface for navigating to different playlists and + curves than the using \gui{jump to playlist} and \gui{jump to + curve} commands.\label{fig:hooke:gui}} + \end{center} +\end{figure} diff --git a/src/local_cmmds.tex b/src/local_cmmds.tex index 2fe4488..ea44ae7 100644 --- a/src/local_cmmds.tex +++ b/src/local_cmmds.tex @@ -116,6 +116,8 @@ \newcommand{\invitro}{\emph{in vitro}} % latin for "in glass" \newcommand{\invivo}{\emph{in vivo}} % latin for "in living organisms" +\newcommand{\gui}[1]{\emph{#1}} % highlighting for quotes from a GUI + \newcommand{\ensuretext}[1]{\ensuremath{\text{#1}}} % Hyeon and Thirumalai equation number #1 \newcommand{\HTeq}[1]{\ensuretext{\emph{H\&T eq.\ {#1}}}}