openscenegraph
include
osgUI
PushButton
Go to the documentation of this file.
1
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield
2
*
3
* This library is open source and may be redistributed and/or modified under
4
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5
* (at your option) any later version. The full license is in LICENSE file
6
* included with this distribution, and on the openscenegraph.org website.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* OpenSceneGraph Public License for more details.
12
*/
13
14
#ifndef OSGUI_PUSHBUTTON
15
#define OSGUI_PUSHBUTTON
16
17
#include <
osgUI/Widget
>
18
#include <
osg/Switch
>
19
#include <
osgText/Text
>
20
21
namespace
osgUI
22
{
23
24
class
OSGUI_EXPORT
PushButton
:
public
osgUI::Widget
25
{
26
public
:
27
PushButton
();
28
PushButton
(
const
PushButton
& pb,
const
osg::CopyOp
& copyop=
osg::CopyOp::SHALLOW_COPY
);
29
META_Node
(
osgUI
,
PushButton
);
30
31
void
setText
(
const
std::string& text) {
_text
= text;
dirty
(); }
32
std::string&
getText
() {
return
_text
; }
33
const
std::string&
getText
()
const
{
return
_text
; }
34
35
virtual
bool
handleImplementation
(
osgGA::EventVisitor
* ev,
osgGA::Event
* event);
36
virtual
void
createGraphicsImplementation
();
37
virtual
void
enterImplementation
();
38
virtual
void
leaveImplementation
();
39
40
virtual
void
pressed
() {
if
(!
runCallbacks
(
"pressed"
))
pressedImplementation
(); }
41
virtual
void
pressedImplementation
();
42
43
virtual
void
released
() {
if
(!
runCallbacks
(
"released"
))
releasedImplementation
(); }
44
virtual
void
releasedImplementation
();
45
46
47
protected
:
48
virtual
~PushButton
() {}
49
50
std::string
_text
;
51
52
// implementation detail
53
osg::ref_ptr<osg::Switch>
_buttonSwitch
;
54
osg::ref_ptr<osgText::Text>
_textDrawable
;
55
};
56
57
}
58
59
#endif
Switch
Text
osgGA::EventVisitor
Definition
EventVisitor:42
osgGA::Event
Definition
Event:27
osgUI::PushButton::released
virtual void released()
Definition
PushButton:43
osgUI::PushButton::leaveImplementation
virtual void leaveImplementation()
osgUI::PushButton::PushButton
PushButton()
osgUI::PushButton::pressedImplementation
virtual void pressedImplementation()
osgUI::PushButton::getText
std::string & getText()
Definition
PushButton:32
osgUI::PushButton::pressed
virtual void pressed()
Definition
PushButton:40
osgUI::PushButton::PushButton
PushButton(const PushButton &pb, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
osgUI::PushButton::_text
std::string _text
Definition
PushButton:50
osgUI::PushButton::handleImplementation
virtual bool handleImplementation(osgGA::EventVisitor *ev, osgGA::Event *event)
osgUI::PushButton::enterImplementation
virtual void enterImplementation()
osgUI::PushButton::_textDrawable
osg::ref_ptr< osgText::Text > _textDrawable
Definition
PushButton:54
osgUI::PushButton::releasedImplementation
virtual void releasedImplementation()
osgUI::PushButton::META_Node
META_Node(osgUI, PushButton)
osgUI::PushButton::setText
void setText(const std::string &text)
Definition
PushButton:31
osgUI::PushButton::getText
const std::string & getText() const
Definition
PushButton:33
osgUI::PushButton::~PushButton
virtual ~PushButton()
Definition
PushButton:48
osgUI::PushButton::_buttonSwitch
osg::ref_ptr< osg::Switch > _buttonSwitch
Definition
PushButton:53
osgUI::PushButton::createGraphicsImplementation
virtual void createGraphicsImplementation()
osgUI::Widget
Definition
osgUI/Widget:29
osgUI::Widget::dirty
virtual void dirty()
osgUI::Widget::runCallbacks
bool runCallbacks(const std::string &name, osg::Parameters &inputParameters, osg::Parameters &outputParameters)
Definition
osgUI/Widget:133
osg::CopyOp
Definition
CopyOp:41
osg::CopyOp::SHALLOW_COPY
@ SHALLOW_COPY
Definition
CopyOp:47
osg::ref_ptr
Definition
ref_ptr:32
osgUI
Definition
AlignmentSettings:23
OSGUI_EXPORT
#define OSGUI_EXPORT
Definition
osgUI/Export:40
Widget
Generated by
1.15.0