COIN-OR::LEMON - Graph Library

Changeset 1892:1d384b30157f in lemon-0.x


Ignore:
Timestamp:
01/12/06 15:36:08 (14 years ago)
Author:
Hegyi Péter
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2467
Message:

Documentation of MapSelector?. If no default value is present in MapSelector?, Reset button does not appear.

Location:
gui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gui/mapselector.cc

    r1884 r1892  
    2727  label->set_width_chars(longest_property_string_length);
    2828
    29   defbut=new Gtk::Button();
    30   defbut->set_label("Reset");
    31 
    32   defbut->signal_pressed().connect
    33     (
    34      sigc::mem_fun(*this, &MapSelector::reset)
    35      );
     29  defbut=NULL;
     30  if(def)
     31    {
     32      defbut=new Gtk::Button();
     33      defbut->set_label("Reset");
     34     
     35      defbut->signal_pressed().connect
     36        (
     37         sigc::mem_fun(*this, &MapSelector::reset)
     38         );
     39    }
    3640
    3741  newbut=new Gtk::Button(Gtk::Stock::NEW);
     
    4650  add(cbt);
    4751
    48   add(*defbut);
     52  if(def)
     53    {
     54      add(*defbut);
     55    }
     56
    4957  add(*newbut);
    5058}
     
    7785void MapSelector::comboChanged()
    7886{
    79   if(cbt.get_active_row_number()!=0)
     87  if(cbt.get_active_row_number()!=0 || !def)
    8088    {
    8189      default_state=false;
  • gui/mapselector.h

    r1885 r1892  
    1111#include <libgnomecanvasmm/polygon.h>
    1212
     13///A widget by which node and edgemaps can be selected, deselected and created.
     14
     15///During the usage of \ref glemon we have to select
     16///maps several times. We also need some aid-function
     17///like new map creation and deselecting previously
     18///selected map. Instead of writing a the mapselection
     19///at all occurences we can use this widget by connecting
     20///its signals to the correct place.
    1321class MapSelector : public Gtk::HBox
    1422{
    1523 protected:
     24  ///This signal indicates that the selection has been changed by user.
    1625  sigc::signal<void, std::string> signal_cbt;
     26
     27  ///Signal that indicates that user wants to create a new map.
    1728  sigc::signal<void, bool> signal_newmapwin;
    1829
     30  ///If this is true, beyond the mapnames a 'Default' selection is available as well.
     31
     32  ///For example \ref MapWin needs 'Default' option as well. In this case no map
     33  ///will be visualized by the appropriate property.
     34  ///But \ref AlgoWin do not need 'Default' option, because if no map is selected,
     35  ///no algorithm can be run.
     36  ///Its value is got and set in contructor.
    1937  bool def;
    2038
     39  ///Are the names of edgemaps or nodemaps stored here.
    2140  bool itisedge;
    2241
     42  ///Shows whether 'Default' option is selected or not.
    2343  bool default_state;
    2444
     45  ///It is true when the new button had been pressed but the new map has not been registrated yet.
     46
     47  ///Before signal of \ref NewMapWin request is emitted by the \ref MapSelector
     48  ///this variable is set to true. When the new map
     49  ///is done, it will be registrated in all existing \ref MapSelector
     50  ///by \ref append_text function. That function checks
     51  ///whether this variable is true. If it is true that means
     52  ///that this \ref MapSelector has requested \ref NewMapWin.
     53  ///Therefore it set itself to the recently created map.
     54  ///After that \ref set_new_map is set again false, not to
     55  ///set maps active if \ref MapSelector piece is not the requester.
    2556  bool set_new_map;
    2657
     58  ///The widget that holds the names of maps.
     59
     60  ///It can be rolled down
     61  ///Names in it are selectable.
    2762  Gtk::ComboBoxText cbt;
    2863
    29   Gtk::Button * newbut, * defbut;
     64  ///New button.
    3065
     66  ///By pressing it
     67  ///\ref NewMapWin wilol pop-up
     68  Gtk::Button * newbut;
     69
     70  ///Reset button.
     71
     72  ///If pressed \ref cbt will
     73  ///set to 'Default' option.
     74  ///
     75  ///It is visible only if \ref def is true.
     76  Gtk::Button * defbut;
     77
     78  ///Container in which GUI elements are packed.
    3179  Gtk::HBox hbox;
    3280
     81  ///Shows purpose of \ref MapSelector piece.
    3382  Gtk::Label * label;
    3483
    3584 public:
    3685
    37   MapSelector(std::vector<std::string>, std::string, std::string, bool, bool def=true);
     86  ///Constructor of \ref MapSelector
    3887
     88  ///Creates the layout and binds signal to the correct place.
     89  ///\param optionlist list of names to place in \ref cbt
     90  ///\param act preselected option
     91  ///\param purpose text of label indicating purpose of \ref MapStorage
     92  ///\param itisedge do \ref MapSelector contains edgemap names or nodemapnames.
     93  ///\param def do we need 'Default' option. See \ref def.
     94  MapSelector(std::vector<std::string> optionlist, std::string act, std::string purpose, bool itisedge, bool def=true);
     95
     96  ///Signal emitted if the user has changed the selection.
    3997  sigc::signal<void, std::string> signal_cbt_ch();
     98
     99  ///Signal emitted if the user has pressed New button (\ref newbut)
    40100  sigc::signal<void, bool> signal_newmapwin_needed();
    41101
     102  ///Maintain \ref cbt.
     103
     104  ///Fills in \ref cbt with names, taking
     105  ///into account that the previously selected option
     106  ///has to be set back after the operation.
    42107  void update_list( std::vector<std::string> );
    43108
    44   ///If a radiobutton is clicked, this function determines
    45   ///which button was that and after that calls the
    46   ///appropriate function of the \ref GraphDisplayerCanvas
    47   ///to change the visible values of that attribute.
     109  ///Handles changement in \ref cbt.
     110
     111  ///In default case it emits a signal with the selected option.
     112  ///But if 'Default' option is selected, it resets the \ref MapSelector
    48113  virtual void comboChanged();
    49114
     115  ///Requests a \ref NewMapWin
     116
     117  ///See \ref set_new_map.
     118  ///First it sets \ref set_new_map true to be identified
     119  ///at registration of new map that
     120  ///it has sent the \ref signal_newmapwin, therefore it
     121  ///has to set \ref cbt to that option.
    50122  virtual void new_but_pressed();
    51123
     124  ///If called, 'Default' option is selected, that means unselection of any maps.
     125
     126  ///Practically this means that if this is called,
     127  ///properties of graph will set to default state.
     128  ///The function achieves this by emitting appropriately
     129  ///parametrized signal_cbt.
    52130  virtual void reset();
    53131
     132  ///Returns the currently selected option.
    54133  Glib::ustring get_active_text();
    55   void set_active_text(Glib::ustring);
     134
     135  ///Sets the parameter active in \ref cbt.
     136
     137  ///\param new_value the
     138  ///new value to be set in \ref cbt.
     139  void set_active_text(Glib::ustring new_value);
     140
     141  ///Sets the parameter active in \ref cbt.
     142  ///\param index the
     143  ///index of row to be set in \ref cbt.
    56144  void set_active(int index){cbt.set_active(index);};
     145
     146  ///Clear all options from \ref cbt.
    57147  void clear(){cbt.clear();};
    58   void append_text(Glib::ustring);
     148
     149  ///Appends a new option to the existing ones in \ref cbt.
     150
     151  ///If \ref set_new_map is true, the
     152  ///\ref MapSelector has requested the opened \ref NewMapWin,
     153  ///from that the option to append is coming. In this case
     154  ///this function  will set \ref cbt to the new option.
     155  ///\param new_option new option to append
     156  void append_text(Glib::ustring new_option);
    59157};
    60158#endif //MAPSELECTOR_H
Note: See TracChangeset for help on using the changeset viewer.