Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
interactive_markers::MenuHandler Class Reference

#include <menu_handler.h>

Classes

struct  EntryContext
 

Public Types

enum  CheckState { NO_CHECKBOX, CHECKED, UNCHECKED }
 
typedef uint32_t EntryHandle
 
typedef boost::function< void(const FeedbackConstPtr &) > FeedbackCallback
 
typedef visualization_msgs::InteractiveMarkerFeedbackConstPtr FeedbackConstPtr
 

Public Member Functions

bool apply (InteractiveMarkerServer &server, const std::string &marker_name)
 
bool getCheckState (EntryHandle handle, CheckState &check_state) const
 
bool getTitle (EntryHandle handle, std::string &title) const
 
EntryHandle insert (const std::string &title, const FeedbackCallback &feedback_cb)
 Insert top-level entry with feedback function. More...
 
EntryHandle insert (const std::string &title, const uint8_t command_type=visualization_msgs::MenuEntry::FEEDBACK, const std::string &command="")
 Insert top-level entry with custom (client-side) command. More...
 
EntryHandle insert (EntryHandle parent, const std::string &title, const FeedbackCallback &feedback_cb)
 Insert second-level entry with feedback function. More...
 
EntryHandle insert (EntryHandle parent, const std::string &title, const uint8_t command_type=visualization_msgs::MenuEntry::FEEDBACK, const std::string &command="")
 Insert second-level entry with custom (client-side) command. More...
 
 MenuHandler ()
 
bool reApply (InteractiveMarkerServer &server)
 Re-apply to all markers that this was applied to previously. More...
 
bool setCheckState (EntryHandle handle, CheckState check_state)
 Specify if an entry is checked or can't be checked at all. More...
 
bool setVisible (EntryHandle handle, bool visible)
 Specify if an entry should be visible or hidden. More...
 

Private Member Functions

EntryHandle doInsert (const std::string &title, const uint8_t command_type, const std::string &command, const FeedbackCallback &feedback_cb)
 
visualization_msgs::MenuEntry makeEntry (EntryContext &context, EntryHandle handle, EntryHandle parent_handle)
 
void processFeedback (const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback)
 
bool pushMenuEntries (std::vector< EntryHandle > &handles_in, std::vector< visualization_msgs::MenuEntry > &entries_out, EntryHandle parent_handle)
 

Private Attributes

EntryHandle current_handle_
 
boost::unordered_map< EntryHandle, EntryContextentry_contexts_
 
std::set< std::string > managed_markers_
 
std::vector< EntryHandletop_level_handles_
 

Detailed Description

Definition at line 47 of file menu_handler.h.

Member Typedef Documentation

◆ EntryHandle

Definition at line 51 of file menu_handler.h.

◆ FeedbackCallback

typedef boost::function< void ( const FeedbackConstPtr& ) > interactive_markers::MenuHandler::FeedbackCallback

Definition at line 54 of file menu_handler.h.

◆ FeedbackConstPtr

typedef visualization_msgs::InteractiveMarkerFeedbackConstPtr interactive_markers::MenuHandler::FeedbackConstPtr

Definition at line 53 of file menu_handler.h.

Member Enumeration Documentation

◆ CheckState

Enumerator
NO_CHECKBOX 
CHECKED 
UNCHECKED 

Definition at line 56 of file menu_handler.h.

Constructor & Destructor Documentation

◆ MenuHandler()

interactive_markers::MenuHandler::MenuHandler ( )

Definition at line 40 of file menu_handler.cpp.

Member Function Documentation

◆ apply()

bool interactive_markers::MenuHandler::apply ( InteractiveMarkerServer server,
const std::string &  marker_name 
)

Copy current menu state into the marker given by the specified name & divert callback for MENU_SELECT feedback to this manager

Definition at line 139 of file menu_handler.cpp.

◆ doInsert()

MenuHandler::EntryHandle interactive_markers::MenuHandler::doInsert ( const std::string &  title,
const uint8_t  command_type,
const std::string &  command,
const FeedbackCallback feedback_cb 
)
private

Definition at line 208 of file menu_handler.cpp.

◆ getCheckState()

bool interactive_markers::MenuHandler::getCheckState ( EntryHandle  handle,
CheckState check_state 
) const

Get the current state of an entry

Returns
true if the entry exists

Definition at line 123 of file menu_handler.cpp.

◆ getTitle()

bool interactive_markers::MenuHandler::getTitle ( EntryHandle  handle,
std::string &  title 
) const

Get the title for the given menu entry

Returns
true if the entry exists

Definition at line 265 of file menu_handler.cpp.

◆ insert() [1/4]

MenuHandler::EntryHandle interactive_markers::MenuHandler::insert ( const std::string &  title,
const FeedbackCallback feedback_cb 
)

Insert top-level entry with feedback function.

Definition at line 46 of file menu_handler.cpp.

◆ insert() [2/4]

MenuHandler::EntryHandle interactive_markers::MenuHandler::insert ( const std::string &  title,
const uint8_t  command_type = visualization_msgs::MenuEntry::FEEDBACK,
const std::string &  command = "" 
)

Insert top-level entry with custom (client-side) command.

Definition at line 54 of file menu_handler.cpp.

◆ insert() [3/4]

MenuHandler::EntryHandle interactive_markers::MenuHandler::insert ( EntryHandle  parent,
const std::string &  title,
const FeedbackCallback feedback_cb 
)

Insert second-level entry with feedback function.

Definition at line 64 of file menu_handler.cpp.

◆ insert() [4/4]

MenuHandler::EntryHandle interactive_markers::MenuHandler::insert ( EntryHandle  parent,
const std::string &  title,
const uint8_t  command_type = visualization_msgs::MenuEntry::FEEDBACK,
const std::string &  command = "" 
)

Insert second-level entry with custom (client-side) command.

Definition at line 78 of file menu_handler.cpp.

◆ makeEntry()

visualization_msgs::MenuEntry interactive_markers::MenuHandler::makeEntry ( EntryContext context,
EntryHandle  handle,
EntryHandle  parent_handle 
)
private

Definition at line 228 of file menu_handler.cpp.

◆ processFeedback()

void interactive_markers::MenuHandler::processFeedback ( const visualization_msgs::InteractiveMarkerFeedbackConstPtr &  feedback)
private

Definition at line 254 of file menu_handler.cpp.

◆ pushMenuEntries()

bool interactive_markers::MenuHandler::pushMenuEntries ( std::vector< EntryHandle > &  handles_in,
std::vector< visualization_msgs::MenuEntry > &  entries_out,
EntryHandle  parent_handle 
)
private

Definition at line 160 of file menu_handler.cpp.

◆ reApply()

bool interactive_markers::MenuHandler::reApply ( InteractiveMarkerServer server)

Re-apply to all markers that this was applied to previously.

Definition at line 192 of file menu_handler.cpp.

◆ setCheckState()

bool interactive_markers::MenuHandler::setCheckState ( EntryHandle  handle,
CheckState  check_state 
)

Specify if an entry is checked or can't be checked at all.

Definition at line 108 of file menu_handler.cpp.

◆ setVisible()

bool interactive_markers::MenuHandler::setVisible ( EntryHandle  handle,
bool  visible 
)

Specify if an entry should be visible or hidden.

Definition at line 93 of file menu_handler.cpp.

Member Data Documentation

◆ current_handle_

EntryHandle interactive_markers::MenuHandler::current_handle_
private

Definition at line 137 of file menu_handler.h.

◆ entry_contexts_

boost::unordered_map<EntryHandle, EntryContext> interactive_markers::MenuHandler::entry_contexts_
private

Definition at line 135 of file menu_handler.h.

◆ managed_markers_

std::set<std::string> interactive_markers::MenuHandler::managed_markers_
private

Definition at line 139 of file menu_handler.h.

◆ top_level_handles_

std::vector<EntryHandle> interactive_markers::MenuHandler::top_level_handles_
private

Definition at line 133 of file menu_handler.h.


The documentation for this class was generated from the following files:


interactive_markers
Author(s): David Gossow, William Woodall
autogenerated on Mon Feb 28 2022 22:33:22