OpenSceneGraph 3.6.5
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
21namespace osgUI
22{
23
25{
26public:
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
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
47protected:
48 virtual ~PushButton() {}
49
50 std::string _text;
51
52 // implementation detail
55};
56
57}
58
59#endif
Definition AlignmentSettings:23
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Smart pointer for handling referenced counted objects.
Definition ref_ptr:32
Base Event class.
Definition Event:27
Basic EventVisitor implementation for animating a scene.
Definition EventVisitor:42
virtual void released()
Definition PushButton:43
virtual void leaveImplementation()
virtual void pressedImplementation()
std::string & getText()
Definition PushButton:32
virtual void pressed()
Definition PushButton:40
PushButton(const PushButton &pb, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
std::string _text
Definition PushButton:50
virtual bool handleImplementation(osgGA::EventVisitor *ev, osgGA::Event *event)
virtual void enterImplementation()
osg::ref_ptr< osgText::Text > _textDrawable
Definition PushButton:54
virtual void releasedImplementation()
META_Node(osgUI, PushButton)
void setText(const std::string &text)
Definition PushButton:31
const std::string & getText() const
Definition PushButton:33
virtual ~PushButton()
Definition PushButton:48
osg::ref_ptr< osg::Switch > _buttonSwitch
Definition PushButton:53
virtual void createGraphicsImplementation()
createGraphicsImplementation method that creates the subgraph that will render the widget and assigns...
Definition Widget:29
virtual void dirty()
bool runCallbacks(const std::string &name, osg::Parameters &inputParameters, osg::Parameters &outputParameters)
invoke all callbacks with specified names providing input and output parameters.
Definition Widget:133
#define OSGUI_EXPORT
Definition Export:40

osg logo
Generated at Wed Jul 23 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0.