[Rasta-commits] rev 220 - in trunk: . clrasta

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Sat Oct 25 04:32:18 CDT 2003


Author: jlbec
Date: 2003-10-25 03:32:16 -0500 (Sat, 25 Oct 2003)
New Revision: 220

Modified:
   trunk/ChangeLog
   trunk/clrasta/clrasta.c
Log:
help fixes

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2003-10-24 22:34:36 UTC (rev 219)
+++ trunk/ChangeLog	2003-10-25 08:32:16 UTC (rev 220)
@@ -1,5 +1,9 @@
 2003-10-23	Joel Becker	<joel.becker at oracle.com>
 
+	* clrasta/clrasta.c: Ok, print help where appropriate.
+
+2003-10-23	Joel Becker	<joel.becker at oracle.com>
+
 	* clrasta/clrasta.c: Fix segfault in menu help queries.
 
 2003-10-23	Joel Becker	<joel.becker at oracle.com>

Modified: trunk/clrasta/clrasta.c
===================================================================
--- trunk/clrasta/clrasta.c	2003-10-24 22:34:36 UTC (rev 219)
+++ trunk/clrasta/clrasta.c	2003-10-25 08:32:16 UTC (rev 220)
@@ -78,7 +78,7 @@
 {
     CLR_QUERY_SUCCESS = 0,      /* result contains the selected item */
     CLR_QUERY_BACK,             /* go back a screen */
-    CLR_QUERY_HELP,             /* get help */
+    CLR_QUERY_HELP,             /* display help text */
     CLR_QUERY_NONE,             /* no result */
     CLR_QUERY_QUIT,             /* quit the application */
     CLR_QUERY_LIST,             /* choose from a list */
@@ -99,7 +99,8 @@
     CLR_QUERY_FLAG_MORE = (1<<5),       /* more choices */
     CLR_QUERY_FLAG_CANCEL = (1<<6),     /* cancel list */
     CLR_QUERY_FLAG_DONE = (1<<7),       /* done with list */
-    CLR_QUERY_FLAG_CONT = (1<<8)        /* continue with default */
+    CLR_QUERY_FLAG_CONT = (1<<8),       /* continue with default */
+    CLR_QUERY_FLAG_HELP = (1<<9)        /* display help text */
 } CLRQueryFlags;
 
 
@@ -201,7 +202,7 @@
     value = rasta_symbol_lookup(ctxt, sym_name);
 
     flags = CLR_QUERY_FLAG_QUIT | CLR_QUERY_FLAG_BACK |
-        CLR_QUERY_FLAG_LIST | CLR_QUERY_FLAG_CONT;
+        CLR_QUERY_FLAG_LIST | CLR_QUERY_FLAG_CONT | CLR_QUERY_FLAG_HELP;
 
     if (rasta_dialog_field_is_required(field))
         flags |= CLR_QUERY_FLAG_REQUIRED;
@@ -238,6 +239,17 @@
                 done = TRUE;
             }
         }
+        else if (ret == CLR_QUERY_HELP)
+        {
+            tmp = rasta_dialog_field_get_help(field);
+            if ((tmp != NULL) && (g_utf8_strlen(tmp, -1) > 0))
+                fprintf(stdout, "\nHelp for \"%s\":\n%s\n",
+                        name, tmp);
+            else
+                fprintf(stdout,
+                        "\nThere is no help on this topic\n");
+            g_free(tmp);
+        }
         else if (ret == CLR_QUERY_LIST)
         {
             if (!list_items)
@@ -410,7 +422,7 @@
 
     flags = CLR_QUERY_FLAG_QUIT | CLR_QUERY_FLAG_BACK |
         CLR_QUERY_FLAG_LIST | CLR_QUERY_FLAG_CHANGE |
-        CLR_QUERY_FLAG_CONT;
+        CLR_QUERY_FLAG_CONT | CLR_QUERY_FLAG_HELP;
 
     if (rasta_dialog_field_is_required(field))
         flags |= CLR_QUERY_FLAG_REQUIRED;
@@ -447,6 +459,17 @@
                 done = TRUE;
             }
         }
+        else if (ret == CLR_QUERY_HELP)
+        {
+            tmp = rasta_dialog_field_get_help(field);
+            if ((tmp != NULL) && (g_utf8_strlen(tmp, -1) > 0))
+                fprintf(stdout, "\nHelp for \"%s\":\n%s\n",
+                        name, tmp);
+            else
+                fprintf(stdout,
+                        "\nThere is no help on this topic\n");
+            g_free(tmp);
+        }
         else if (ret == CLR_QUERY_CHANGE)
         {
             /* FIXME: handle HIDDEN somehow */
@@ -728,7 +751,7 @@
 {
     gboolean done;
     gchar *name, *value, *sym_name, *new_value, *disp_val;
-    gchar *t_val, *t_new_val, *prompt;
+    gchar *t_val, *t_new_val, *prompt, *tmp;
     CLRQueryFlags flags;
     CLRQueryResult ret;
     gint i_result, num_items;
@@ -741,7 +764,7 @@
     value = rasta_symbol_lookup(ctxt, sym_name);
 
     flags = CLR_QUERY_FLAG_QUIT | CLR_QUERY_FLAG_BACK |
-        CLR_QUERY_FLAG_LIST | CLR_QUERY_FLAG_CONT;
+        CLR_QUERY_FLAG_LIST | CLR_QUERY_FLAG_CONT | CLR_QUERY_FLAG_HELP;
 
     if (rasta_dialog_field_is_required(field))
         flags |= CLR_QUERY_FLAG_REQUIRED;
@@ -789,6 +812,17 @@
                 done = TRUE;
             }
         }
+        else if (ret == CLR_QUERY_HELP)
+        {
+            tmp = rasta_dialog_field_get_help(field);
+            if ((tmp != NULL) && (g_utf8_strlen(tmp, -1) > 0))
+                fprintf(stdout, "\nHelp for \"%s\":\n%s\n",
+                        name, tmp);
+            else
+                fprintf(stdout,
+                        "\nThere is no help on this topic\n");
+            g_free(tmp);
+        }
         else if (ret == CLR_QUERY_LIST)
         {
             if (!num_items || !list_items || !val_items)
@@ -912,7 +946,8 @@
         format = NULL;
 
     flags = CLR_QUERY_FLAG_QUIT | CLR_QUERY_FLAG_BACK |
-        CLR_QUERY_FLAG_CHANGE | CLR_QUERY_FLAG_CONT;
+        CLR_QUERY_FLAG_CHANGE | CLR_QUERY_FLAG_CONT |
+        CLR_QUERY_FLAG_HELP;
 
     if (rasta_dialog_field_is_required(field))
         flags |= CLR_QUERY_FLAG_REQUIRED;
@@ -947,6 +982,17 @@
                 done = TRUE;
             }
         }
+        else if (ret == CLR_QUERY_HELP)
+        {
+            tmp = rasta_dialog_field_get_help(field);
+            if ((tmp != NULL) && (g_utf8_strlen(tmp, -1) > 0))
+                fprintf(stdout, "\nHelp for \"%s\":\n%s\n",
+                        name, tmp);
+            else
+                fprintf(stdout,
+                        "\nThere is no help on this topic\n");
+            g_free(tmp);
+        }
         else if (ret == CLR_QUERY_CHANGE)
         {
             /* FIXME: handle HIDDEN somehow */
@@ -1029,7 +1075,8 @@
     value = rasta_symbol_lookup(ctxt, sym_name);
 
     flags = CLR_QUERY_FLAG_QUIT | CLR_QUERY_FLAG_BACK |
-        CLR_QUERY_FLAG_CHANGE | CLR_QUERY_FLAG_CONT;
+        CLR_QUERY_FLAG_CHANGE | CLR_QUERY_FLAG_CONT |
+        CLR_QUERY_FLAG_HELP;
 
     if (rasta_dialog_field_is_required(field))
         flags |= CLR_QUERY_FLAG_REQUIRED;
@@ -1064,10 +1111,20 @@
                 done = TRUE;
             }
         }
+        else if (ret == CLR_QUERY_HELP)
+        {
+            tmp = rasta_dialog_field_get_help(field);
+            if ((tmp != NULL) && (g_utf8_strlen(tmp, -1) > 0))
+                fprintf(stdout, "\nHelp for \"%s\":\n%s\n",
+                        name, tmp);
+            else
+                fprintf(stdout,
+                        "\nThere is no help on this topic\n");
+            g_free(tmp);
+        }
         else if (ret == CLR_QUERY_CHANGE)
         {
-            tmp =
-                clr_readline("Enter filename: ");
+            tmp = clr_readline("Enter filename: ");
 
             error = NULL;
             conv = g_locale_to_utf8(tmp, -1, &br, &bw, &error);
@@ -1584,9 +1641,12 @@
         g_string_append(str, "[q]uit, ");
     if (flags & CLR_QUERY_FLAG_CONT)
         g_string_append(str, "<ENTER> to continue, ");
+    if (flags & CLR_QUERY_FLAG_HELP)
+        g_string_append(str, "[h]elp");
+    else
+        g_string_truncate(str, str->len - 2);
+    g_string_append(str, "): ");
 
-    g_string_append(str, "[h]elp): ");
-
     ret = str->str;
     g_string_free(str, FALSE);
 
@@ -1637,7 +1697,7 @@
         ret = CLR_QUERY_DONE;
     else if ((flags & CLR_QUERY_FLAG_CANCEL) && (strcmp(r, "c") == 0))
         ret = CLR_QUERY_CANCEL;
-    else if (strcmp(r, "h") == 0)
+    else if ((flags & CLR_QUERY_FLAG_HELP) && (strcmp(r, "h") == 0))
         ret = CLR_QUERY_HELP;
     else if (res_choice)
     {
@@ -1939,7 +1999,8 @@
         res = clr_query_choice(choices, num_choices, &ret_id,
                                CLR_QUERY_FLAG_QUIT |
                                CLR_QUERY_FLAG_BACK |
-                               CLR_QUERY_FLAG_REQUIRED);
+                               CLR_QUERY_FLAG_REQUIRED |
+                               CLR_QUERY_FLAG_HELP);
         switch (res)
         {
             case CLR_QUERY_QUIT:



More information about the Rasta-commits mailing list