]> Creatis software - CreaPhase.git/blobdiff - octave_packages/zenity-0.5.7/zenity_entry.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / zenity-0.5.7 / zenity_entry.m
diff --git a/octave_packages/zenity-0.5.7/zenity_entry.m b/octave_packages/zenity-0.5.7/zenity_entry.m
new file mode 100644 (file)
index 0000000..5131257
--- /dev/null
@@ -0,0 +1,48 @@
+## Copyright (C) 2006 Søren Hauberg
+## 
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+## 
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+## 
+## You should have received a copy of the GNU General Public License
+## along with this program; If not, see <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} @var{s} = zenity_entry(@var{text}, @var{entry_text}, @var{password})
+## Displays a text entry dialog.
+## The variable @var{text} sets the title of the dialog, and the
+## @var{entry_text} variable sets the default value of the text
+## entry field. If the @var{password} variable is non-empty the
+## value of the text entry field will not be displayed on the screen.
+## All arguments are optional.
+##
+## @seealso{zenity_calendar, zenity_list, zenity_progress, zenity_message,
+## zenity_text_info, zenity_file_selection, zenity_notification}
+## @end deftypefn
+
+function s = zenity_entry(text, entrytext, password)
+  if (nargin < 1), text      = ""; endif
+  if (nargin < 2), entrytext = ""; endif
+  if (nargin < 3), password  = ""; endif
+
+  if (!isempty(text)), text = sprintf('--text="%s" --title="%s"', text, text); endif
+  if (!isempty(entrytext)), entrytext = sprintf('--entry-text="%s"', entrytext); endif
+  if (!isempty(password)), password = "--hide-text"; endif
+  
+  cmd = sprintf('zenity --entry %s %s %s', text, entrytext, password);
+  [status, output] = system(cmd);
+  if (status == 0)
+    if (output(end) == "\n") output = output(1:end-1); endif
+    s = output;
+  elseif (status == 1)
+    s = "";
+  else
+    error("zenity_entry: %s", output);
+  endif
+endfunction