VAR_SUB_MENU Class Reference

#include <submen.h>

Inheritance diagram for VAR_SUB_MENU:

LEAF_MENU_NODE MENU_NODE List of all members.

Detailed Description

A leaf in the top level variable editor window.

Definition at line 26 of file submen.h.

Public Member Functions

Protected Member Functions

Protected Attributes

Private Member Functions

Private Attributes


Constructor & Destructor Documentation

VAR_SUB_MENU::VAR_SUB_MENU ( const char *  menu_text,
MENU_ROOT sub_menu 
) [inline]

Definition at line 47 of file submen.h.

References NULL, root, and sub_window.

00050      :LEAF_MENU_NODE (menu_text) {
00051       root = sub_menu;
00052       sub_window = NULL;
00053     }


Member Function Documentation

void VAR_SUB_MENU::child_closed (  )  [inline]

Definition at line 55 of file submen.h.

References NULL, and sub_window.

Referenced by VARIABLES_WINDOW::v_event().

00055                         { 
00056       sub_window = NULL;
00057     }

virtual const char* MENU_NODE::cmp_str (  )  [inline, virtual, inherited]

Reimplemented in BOOL_VAR_MENU_LEAF, DBL_VAR_MENU_LEAF, INT_VAR_MENU_LEAF, and STR_VAR_MENU_LEAF.

Definition at line 108 of file sbdmenu.h.

References MENU_NODE::name, and STRING::string().

Referenced by menu_item_sorter().

00108                                   { 
00109       return name.string ();
00110     }

void VAR_SUB_MENU::event ( COMMAND_WINDOW win,
FCOORD  pt,
INT32 cmd_event_id,
char *  new_value 
) [private, virtual]

Event selection, toggle value

Implements MENU_NODE.

Definition at line 287 of file varblmen.cpp.

References MENU_NODE::box, BOX::contains(), COMMAND_WINDOW::msg(), MENU_NODE::name, NULL, root, STRING::string(), and sub_window.

00292                           {
00293   if (box.contains (pt)) {
00294     if (sub_window != NULL)
00295       win->msg ("Sub menu is already open!");
00296     else {
00297       sub_window = new VARIABLES_WINDOW (name.string (), root, this);
00298     }
00299   }
00300 }

INT8 LEAF_MENU_NODE::max_num_chars (  )  [inline, protected, virtual, inherited]

Implements MENU_NODE.

Definition at line 138 of file sbdmenu.h.

References STRING::length(), and MENU_NODE::name.

00138                          {  //char width reqd
00139       return (INT8) name.length ();
00140     }

void MENU_NODE::new_label ( const char *  label  )  [inline, inherited]

Definition at line 115 of file sbdmenu.h.

References MENU_NODE::name.

Referenced by COMMAND_WINDOW::replace_menu_text().

00116                                       {
00117       name = label;
00118     }

void MENU_NODE::plot ( WINDOW  window  )  [inherited]

Initialise, then call plotx to do the real work.

This means that we can initialise plotting once only REGARDLESS of what menu subclass we start plotting.

e.g., we don't always start with a MENU_ROOT.

Definition at line 79 of file sbdmenu.cpp.

References character_height, fill_color_index, GREY, INT_SOLID, interior_style, LIGHT_GREY, perimeter_color_index, MENU_NODE::plotx(), text_color_index, TRUE, and WHITE.

Referenced by COMMAND_WINDOW::plot(), COMMAND_WINDOW::replace_menu_text(), and COMMAND_WINDOW::set_toggle().

00081                       {
00082   character_height(window, menu_char_height); 
00083   interior_style(window, INT_SOLID, TRUE); 
00084   perimeter_color_index(window, LIGHT_GREY); 
00085   text_color_index(window, WHITE); 
00086   fill_color_index(window, GREY); 
00087   plotx(window); 
00088 }

void LEAF_MENU_NODE::plotx ( WINDOW  window  )  [protected, virtual, inherited]

The real plot; positions assumed already calculated.

Implements MENU_NODE.

Reimplemented in TOGGLE_MENU_LEAF, and BOOL_VAR_MENU_LEAF.

Definition at line 52 of file sbdmenu.cpp.

References MENU_NODE::box, FALSE, BOX::left(), MENU_TEXT_X_OFFSET, MENU_TEXT_Y_OFFSET, MENU_NODE::name, BOX::plot(), STRING::string(), text2d, and BOX::top().

Referenced by BOOL_VAR_MENU_LEAF::plotx(), and TOGGLE_MENU_LEAF::plotx().

00054                             {
00055   box.plot (window);
00056 
00057   text2d (window,
00058     box.left () + MENU_TEXT_X_OFFSET,
00059     box.top () - MENU_TEXT_Y_OFFSET, name.string (), 0, FALSE);
00060 }

BOX & MENU_NODE::recalc_bounding_box ( INT16  tl_x,
INT16  tl_y 
) [protected, virtual, inherited]

SHOULD NEVER BE CALLED.

Compiler needs it as this can't be a pure virtual function as not all classes provide it and the compiler will not let you do "new" on a class which inherits a pure virtual function which it cannot resolve into a real function.

Reimplemented in NON_LEAF_MENU_NODE, and MENU_ROOT.

Definition at line 99 of file sbdmenu.cpp.

References ABORT, MENU_NODE::box, ERRCODE::error(), NULL, and SHOULDNT_BE_CALLED.

00102                                      {
00103   SHOULDNT_BE_CALLED.error ("MENU_ROOT::recalc_bounding_box", ABORT, NULL);
00104   return box;
00105 }

void VAR_SUB_MENU::write_vars ( FILE *  fp,
BOOL8  changes_only 
) [inline, private, virtual]

Reimplemented from MENU_NODE.

Definition at line 38 of file submen.h.

References root, and MENU_ROOT::write_vars().

00040                                         {  //Changed vars only?
00041       fprintf (fp, "\n");
00042                                  //propogate to submenu
00043       root->write_vars (fp, changes_only);
00044     }


Member Data Documentation

BOX MENU_NODE::box [protected, inherited]

Definition at line 77 of file sbdmenu.h.

Referenced by block_space_stat(), event(), STR_VAR_MENU_LEAF::event(), INT_VAR_MENU_LEAF::event(), DBL_VAR_MENU_LEAF::event(), BOOL_VAR_MENU_LEAF::event(), VARIABLE_MENU_LEAF::event(), TOGGLE_MENU_LEAF::event(), SIMPLE_MENU_LEAF::event(), RADIO_MENU::event(), NON_LEAF_MENU_NODE::event(), NON_LEAF_MENU_NODE::plotx(), LEAF_MENU_NODE::plotx(), re_scale_and_move_bln_word(), NON_LEAF_MENU_NODE::recalc_bounding_box(), MENU_ROOT::recalc_bounding_box(), MENU_NODE::recalc_bounding_box(), MENU_NODE::recalc_fixed_width_bb(), row_space_stat(), and show_point().

STRING MENU_NODE::name [protected, inherited]

Definition at line 76 of file sbdmenu.h.

Referenced by MENU_NODE::cmp_str(), event(), VARIABLE_MENU_LEAF::event(), LEAF_MENU_NODE::max_num_chars(), NON_LEAF_MENU_NODE::max_num_chars(), MENU_NODE::MENU_NODE(), MENU_NODE::new_label(), pgeditor_read_file(), NON_LEAF_MENU_NODE::plotx(), and LEAF_MENU_NODE::plotx().

MENU_ROOT* VAR_SUB_MENU::root [private]

Definition at line 29 of file submen.h.

Referenced by event(), VAR_SUB_MENU(), and write_vars().

COMMAND_WINDOW* VAR_SUB_MENU::sub_window [private]

Definition at line 30 of file submen.h.

Referenced by child_closed(), event(), and VAR_SUB_MENU().


The documentation for this class was generated from the following files:
Generated on Wed Feb 28 19:49:34 2007 for Tesseract by  doxygen 1.5.1