/[ghosts]/ghosts/gedcomviewer/src/BakeryExtras/View_Navigator.hh
ViewVC logotype

Diff of /ghosts/gedcomviewer/src/BakeryExtras/View_Navigator.hh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by cpcp, Tue Nov 12 21:25:22 2002 UTC revision 1.3 by cpcp, Sat Mar 1 12:04:26 2003 UTC
# Line 24  Line 24 
24    
25  #include "bakery/bakery.h"  #include "bakery/bakery.h"
26  #include "BakeryExtras/View_Target.hh"  #include "BakeryExtras/View_Target.hh"
27    #include "BakeryExtras/View_TargetFactory.hh"
28    #include <iostream>
29    
30  namespace BakeryExtras {  namespace BakeryExtras {
31    template< class T_Document, class T_KeyType >    template< class T_Document, class T_KeyType >
# Line 31  namespace BakeryExtras { Line 33  namespace BakeryExtras {
33    {    {
34    public:    public:
35      View_Navigator() :      View_Navigator() :
36        _target(0)        _target_factory(0)
37      {      {
38      }      }
39    
40      virtual ~View_Navigator()      virtual ~View_Navigator()
41      {      {
42          delete _target_factory; _target_factory = 0;
43      }      }
44      void setTarget(View_Target < T_Document, T_KeyType > * target)  
45        void setTargetFactory(View_TargetFactory < T_Document, T_KeyType > * target_factory)
46      {      {
47        _target = target;        _target_factory = target_factory;
48        return;        return;
49      }      }
50      virtual void Navigate(T_KeyType const & key)  
51        virtual void Navigate(T_KeyType const & key, bool create_window = false)
52      {      {
53        if (_target != 0)        BakeryExtras::View_Target < T_Document, T_KeyType > * target = 0;
54          if (create_window == true)
55            {
56              Bakery::View < T_Document > * tmp_view = 0;
57              tmp_view = _target_factory->getNewView();
58              tmp_view->set_document(get_document());
59              tmp_view->load_from_document();  
60              target = _target_factory->getTarget(tmp_view);
61            }
62          else
63          {          {
64            _target->Goto(key);            target = _target_factory->getDefaultTarget();
65            }
66          if (target != 0)
67            {
68              std::cerr << "GOTO KEY : " << key << std::endl;
69              target->Goto(key);
70              std::cerr << "KEY DONE " << key << std::endl;
71          }          }
72      }      }
   protected:  
       
73    private:    private:
74      View_Target < T_Document, T_KeyType > * _target;                  View_TargetFactory < T_Document, T_KeyType > * _target_factory;
75        
76    };    };
77  };  };
78    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26