[Freeciv-Dev] Re: (PR#4610) CMA frontend for Xaw
[Top] [All Lists]
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
 
On Sun, Jul 20, 2003 at 10:47:20AM -0700, andrearo@xxxxxxxxxxxx wrote:
> On Fri, 18 Jul 2003, Mike Kaufman wrote:
> > On Fri, Jul 18, 2003 at 09:58:59AM -0700, andrearo@xxxxxxxxxxxx wrote:
> > > I've written a CMA frontend for the Xaw client, since I usually
> >
> > looks nice, has some problems though:
> 
> I've fixed these issues now. It should have the same functionality as
> the gtk version.
 
much slicker. still has some problems.
o The food factor slider works, but the rest of the factor sliders don't.
o moving the sliders blanks out the results (--- on all)
o along with this, if you move the sliders to a duplicate of a preset, it
  should tell you which preset, else custom.
o i can't believe that you can't crash your client every time with your
  patch. Here's the problem:
+  for (i = 1; i < NUM_STATS; i++) {
+    surplus_slider[i] = 
+      I_L(XtVaCreateManagedWidget("cmapresetscroll",
       ^^^
   this is not a label, so it shouldn't be here.
+                                  scrollbarWidgetClass, form,
+                                  XtNfromHoriz, stat_surplus_label[i],
+                                  XtNfromVert, stat_surplus_label[i - 1],
+                                  NULL));
same for all the other sliders.
o doing this construction is pretty messy:
  /* Create scrollbars in the factor column. */
  factor_slider[0] = 
    XtVaCreateManagedWidget("cmapresetscroll",
                                scrollbarWidgetClass, form,
                                XtNfromHoriz, stat_factor_label[0],
                                XtNfromVert, factor_header,
                                NULL);
  
  for (i = 1; i < NUM_STATS; i++) {
    factor_slider[i] = 
    XtVaCreateManagedWidget("cmapresetscroll",
                                scrollbarWidgetClass, form,
                                XtNfromHoriz, stat_factor_label[i],
                                XtNfromVert, stat_factor_label[i - 1],
                                NULL);
  }
  
  factor_slider[NUM_STATS] = 
    XtVaCreateManagedWidget("cmapresetscroll",
                                scrollbarWidgetClass, form,
                                XtNfromHoriz, stat_factor_label[NUM_STATS -1],
                                XtNfromVert, stat_factor_label[NUM_STATS - 1],
                                NULL);
See messagedlg.c, here's the idea:
  Widget temp;
  temp = factor_header;
  for (i = 0; i <= NUM_STATS; i++) {
    factor_slider[i] = XtVaCreateManagedWidget("cmapresetscroll",
                                scrollbarWidgetClass, form,
                                XtNfromHoriz, stat_factor_label[i],
                                XtNfromVert, temp
                                NULL);
    temp = factor_slider[i];
  }
-mike
 
 
 | 
 |