Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Dialog.hpp

    rcb5231 r37a67f  
    158158  virtual void queryEmpty(const std::string ="", const std::string = "")=0;
    159159
    160   virtual void queryVector(Parameter<Vector> &, const std::string ="", const std::string = "")=0;
    161   virtual void queryVectors(Parameter< std::vector<Vector> > &, const std::string ="", const std::string = "")=0;
    162 
    163160  /** With the following boost::preprocessor code we generate virtual function
    164161   * definitions for all desired query types in the abstract class Dialog.
     
    253250  };
    254251
     252
    255253  template<class T>
    256254  class TQuery : public Query {
     
    284282};
    285283
    286 // we have specialization of Vector to allow internal storing as string
    287 template <>
    288 void Dialog::query<Vector>(Parameter<Vector> &, const std::string, const std::string);
    289 template <>
    290 void Dialog::query< std::vector<Vector> >(Parameter< std::vector<Vector> > &, const std::string, const std::string);
    291 
    292 /** Template specialization for Query<Vector> to allow internal storing of a
    293  * string instead of a Vector.
    294  *
    295  * Because we need to evaluate the string as a possible GeometryRegistry key
    296  * and we may do this only when the Action (whose options we are querying)
    297  * is executed, not before.
    298  */
    299 template <>
    300 class Dialog::TQuery<Vector> : public Query {
    301 public:
    302   TQuery(Parameter<Vector> &_param, const std::string title, const std::string _description = "") :
    303     Query(title, _description), param(_param) {}
    304   virtual ~TQuery(){}
    305   virtual bool handle()=0;
    306   virtual bool isValid(){ return param.isValidAsString(temp);  }
    307   virtual void setResult(){ param.setAsString(temp);  }
    308 protected:
    309   std::string temp;
    310   Parameter<Vector> &param;
    311 };
    312 
    313 template <>
    314 class Dialog::TQuery< std::vector<Vector> > : public Query {
    315 public:
    316   TQuery(Parameter< std::vector<Vector> > &_param, const std::string title, const std::string _description = "") :
    317     Query(title, _description), param(_param) {}
    318   virtual ~TQuery(){}
    319   virtual bool handle()=0;
    320   virtual bool isValid();
    321   virtual void setResult();
    322 protected:
    323   std::vector<std::string> temp;
    324   Parameter< std::vector<Vector> > &param;
    325 };
    326 
    327 
    328284#endif /* DIALOG_HPP_ */
Note: See TracChangeset for help on using the changeset viewer.