Panda3D

pgMouseWatcherGroup.h

00001 // Filename: pgMouseWatcherGroup.h
00002 // Created by:  drose (09Jul01)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #ifndef PGMOUSEWATCHERGROUP_H
00016 #define PGMOUSEWATCHERGROUP_H
00017 
00018 #include "pandabase.h"
00019 
00020 #include "mouseWatcherGroup.h"
00021 #include "pointerTo.h"
00022 
00023 class PGTop;
00024 
00025 ////////////////////////////////////////////////////////////////////
00026 //       Class : PGMouseWatcherGroup
00027 // Description : This is a specialization on MouseWatcherGroup, to
00028 //               associate it with a PGTop.  Originally we had PGTop
00029 //               multiply inheriting from NamedNode and
00030 //               MouseWatcherGroup, but this causes problems with
00031 //               circular reference counts.
00032 ////////////////////////////////////////////////////////////////////
00033 class EXPCL_PANDA_PGUI PGMouseWatcherGroup : public MouseWatcherGroup {
00034 public:
00035   INLINE PGMouseWatcherGroup(PGTop *top);
00036   virtual ~PGMouseWatcherGroup();
00037 
00038   INLINE void clear_top(PGTop *top);
00039 
00040 private:
00041   PGTop *_top;
00042 
00043 public:
00044   static TypeHandle get_class_type() {
00045     return _type_handle;
00046   }
00047   static void init_type() {
00048     MouseWatcherGroup::init_type();
00049     register_type(_type_handle, "PGMouseWatcherGroup",
00050                   MouseWatcherGroup::get_class_type());
00051   }
00052   virtual TypeHandle get_type() const {
00053     return get_class_type();
00054   }
00055   virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
00056 
00057 private:
00058   static TypeHandle _type_handle;
00059 };
00060 
00061 #include "pgMouseWatcherGroup.I"
00062 
00063 #endif
 All Classes Functions Variables Enumerations