mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 00:06:44 -04:00
provide non-active label functionality
This commit is contained in:
parent
e6946c8039
commit
d2e0d89785
@ -14,7 +14,8 @@
|
|||||||
guiItem.h guiItem.I guiItem.cxx \
|
guiItem.h guiItem.I guiItem.cxx \
|
||||||
guiRollover.h guiRollover.I guiRollover.cxx \
|
guiRollover.h guiRollover.I guiRollover.cxx \
|
||||||
guiButton.h guiButton.I guiButton.cxx \
|
guiButton.h guiButton.I guiButton.cxx \
|
||||||
guiFrame.h guiFrame.I guiFrame.cxx
|
guiFrame.h guiFrame.I guiFrame.cxx \
|
||||||
|
guiSign.h guiSign.I guiSign.cxx
|
||||||
|
|
||||||
#define INSTALL_HEADERS \
|
#define INSTALL_HEADERS \
|
||||||
guiManager.h guiManager.I \
|
guiManager.h guiManager.I \
|
||||||
@ -23,7 +24,8 @@
|
|||||||
guiItem.h guiItem.I \
|
guiItem.h guiItem.I \
|
||||||
guiRollover.h guiRollover.I \
|
guiRollover.h guiRollover.I \
|
||||||
guiButton.h guiButton.I \
|
guiButton.h guiButton.I \
|
||||||
guiFrame.h guiFrame.I
|
guiFrame.h guiFrame.I \
|
||||||
|
guiSign.h guiSign.I
|
||||||
|
|
||||||
#define IGATESCAN \
|
#define IGATESCAN \
|
||||||
guiManager.h guiManager.I \
|
guiManager.h guiManager.I \
|
||||||
@ -32,6 +34,7 @@
|
|||||||
guiItem.h guiItem.I \
|
guiItem.h guiItem.I \
|
||||||
guiRollover.h guiRollover.I \
|
guiRollover.h guiRollover.I \
|
||||||
guiButton.h guiButton.I \
|
guiButton.h guiButton.I \
|
||||||
guiFrame.h guiFrame.I
|
guiFrame.h guiFrame.I \
|
||||||
|
guiSign.h guiSign.I
|
||||||
|
|
||||||
#end lib_target
|
#end lib_target
|
||||||
|
@ -2,3 +2,6 @@
|
|||||||
// Created by: cary (06Nov00)
|
// Created by: cary (06Nov00)
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
INLINE GuiSign::GuiSign(void) {
|
||||||
|
}
|
||||||
|
@ -2,3 +2,53 @@
|
|||||||
// Created by: cary (06Nov00)
|
// Created by: cary (06Nov00)
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "guiSign.h"
|
||||||
|
#include "config_gui.h"
|
||||||
|
|
||||||
|
void GuiSign::recompute_frame(void) {
|
||||||
|
GuiItem::recompute_frame();
|
||||||
|
_sign->get_extents(_left, _right, _bottom, _top);
|
||||||
|
}
|
||||||
|
|
||||||
|
GuiSign::GuiSign(const string& name, GuiLabel* sign) : GuiItem(name),
|
||||||
|
_sign(sign) {
|
||||||
|
_sign->get_extents(_left, _right, _bottom, _top);
|
||||||
|
}
|
||||||
|
|
||||||
|
GuiSign::~GuiSign(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSign::manage(GuiManager* mgr, EventHandler& eh) {
|
||||||
|
if (!_added_hooks)
|
||||||
|
_added_hooks = true;
|
||||||
|
if (_mgr == (GuiManager*)0L) {
|
||||||
|
mgr->add_label(_sign);
|
||||||
|
GuiItem::manage(mgr, eh);
|
||||||
|
} else
|
||||||
|
gui_cat->warning() << "tried to manager sign (0x" << (void*)this
|
||||||
|
<< ") that is already managed" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSign::unmanage(void) {
|
||||||
|
_mgr->remove_label(_sign);
|
||||||
|
GuiSign::unmanage();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSign::set_scale(float f) {
|
||||||
|
_sign->set_scale(f);
|
||||||
|
GuiItem::set_scale(f);
|
||||||
|
recompute_frame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSign::set_pos(const LVector3f& p) {
|
||||||
|
_sign->set_pos(p);
|
||||||
|
GuiItem::set_pos(p);
|
||||||
|
recompute_frame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GuiSign::output(ostream& os) const {
|
||||||
|
GuiItem::output(os);
|
||||||
|
os << " Sign data:" << endl;
|
||||||
|
os << " sign - 0x" << (void*)_sign << endl;
|
||||||
|
}
|
||||||
|
@ -2,3 +2,33 @@
|
|||||||
// Created by: cary (06Nov00)
|
// Created by: cary (06Nov00)
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __GUISIGN_H__
|
||||||
|
#define __GUISIGN_H__
|
||||||
|
|
||||||
|
#include "guiItem.h"
|
||||||
|
#include "guiLabel.h"
|
||||||
|
#include "guiManager.h"
|
||||||
|
|
||||||
|
class EXPCL_PANDA GuiSign : public GuiItem {
|
||||||
|
private:
|
||||||
|
GuiLabel* _sign;
|
||||||
|
|
||||||
|
INLINE GuiSign(void);
|
||||||
|
virtual void recompute_frame(void);
|
||||||
|
public:
|
||||||
|
GuiSign(const string&, GuiLabel*);
|
||||||
|
~GuiSign(void);
|
||||||
|
|
||||||
|
virtual void manage(GuiManager*, EventHandler&);
|
||||||
|
virtual void unmanage(void);
|
||||||
|
|
||||||
|
virtual void set_scale(float);
|
||||||
|
virtual void set_pos(const LVector3f&);
|
||||||
|
|
||||||
|
virtual void output(ostream&) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "guiSign.I"
|
||||||
|
|
||||||
|
#endif /* __GUISIGN_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user