[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