Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VInteractiveSession Class Reference

#include <G4VInteractiveSession.hh>

Inheritance diagram for G4VInteractiveSession:

Classes

struct  OutputStyle

Public Member Functions

 G4VInteractiveSession ()
virtual ~G4VInteractiveSession ()
virtual void AddMenu (const char *, const char *)
virtual void AddButton (const char *, const char *, const char *)
virtual void AddIcon (const char *, const char *, const char *, const char *)
virtual void DefaultIcons (bool)
virtual void SetOutputStyle (const char *, const char *)
virtual void NativeMenu (bool)
virtual void ClearMenu ()
virtual void UpdateSceneTree (const G4SceneTreeItem &)
void AddInteractor (G4String, G4Interactor)
G4Interactor GetInteractor (const G4String &)
const std::map< G4String, OutputStyle > & GetOutputStyles () const
virtual void UpdateDrawingStyle (G4int style)
virtual void UpdateProjectionStyle (G4int style)
virtual void UpdateTransparencySlider (G4double depth, G4int option)

Protected Member Functions

void SetStyleUtility (const G4String &destination, const G4String &style)

Protected Attributes

std::map< G4String, OutputStylefOutputStyles

Detailed Description

Definition at line 45 of file G4VInteractiveSession.hh.

Constructor & Destructor Documentation

◆ G4VInteractiveSession()

G4VInteractiveSession::G4VInteractiveSession ( )

Definition at line 33 of file G4VInteractiveSession.cc.

33{ messenger = new G4InteractorMessenger(this); }

◆ ~G4VInteractiveSession()

G4VInteractiveSession::~G4VInteractiveSession ( )
virtual

Definition at line 36 of file G4VInteractiveSession.cc.

36{ delete messenger; }

Member Function Documentation

◆ AddButton()

void G4VInteractiveSession::AddButton ( const char * ,
const char * ,
const char *  )
virtual

Reimplemented in G4UIQt, G4UIWin32, and G4UIXm.

Definition at line 42 of file G4VInteractiveSession.cc.

42{}

◆ AddIcon()

void G4VInteractiveSession::AddIcon ( const char * ,
const char * ,
const char * ,
const char *  )
virtual

Reimplemented in G4UIQt.

Definition at line 48 of file G4VInteractiveSession.cc.

48{}

◆ AddInteractor()

void G4VInteractiveSession::AddInteractor ( G4String a_name,
G4Interactor a_interactor )

Definition at line 67 of file G4VInteractiveSession.cc.

68{
69 interactors[a_name] = a_interactor;
70}

Referenced by G4UIQt::AddMenu(), G4UIWin32::AddMenu(), G4UIXm::AddMenu(), and G4UIWin32::G4UIWin32().

◆ AddMenu()

void G4VInteractiveSession::AddMenu ( const char * ,
const char *  )
virtual

Reimplemented in G4UIQt, G4UIWin32, and G4UIXm.

Definition at line 39 of file G4VInteractiveSession.cc.

39{}

◆ ClearMenu()

void G4VInteractiveSession::ClearMenu ( )
virtual

Reimplemented in G4UIQt.

Definition at line 61 of file G4VInteractiveSession.cc.

61{}

◆ DefaultIcons()

void G4VInteractiveSession::DefaultIcons ( bool )
virtual

Reimplemented in G4UIQt.

Definition at line 45 of file G4VInteractiveSession.cc.

45{}

◆ GetInteractor()

G4Interactor G4VInteractiveSession::GetInteractor ( const G4String & a_name)

Definition at line 73 of file G4VInteractiveSession.cc.

74{
75 G4interactor_map::iterator it;
76 if ((it = interactors.find(a_name)) == interactors.end()) return nullptr;
77 return (*it).second;
78}

Referenced by G4UIQt::AddButton(), G4UIWin32::AddButton(), and G4UIXm::AddButton().

◆ GetOutputStyles()

const std::map< G4String, G4VInteractiveSession::OutputStyle > & G4VInteractiveSession::GetOutputStyles ( ) const

Definition at line 82 of file G4VInteractiveSession.cc.

83{
84 return fOutputStyles;
85}
std::map< G4String, OutputStyle > fOutputStyles

◆ NativeMenu()

void G4VInteractiveSession::NativeMenu ( bool )
virtual

Reimplemented in G4UIQt.

Definition at line 58 of file G4VInteractiveSession.cc.

58{}

◆ SetOutputStyle()

void G4VInteractiveSession::SetOutputStyle ( const char * ,
const char *  )
virtual

Reimplemented in G4UIQt.

Definition at line 51 of file G4VInteractiveSession.cc.

52{
53 G4Exception("G4VInteractiveSession::SetOutputStyle", "uiqt0001", JustWarning,
54 "This type of session does not support output styles.");
55}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)

◆ SetStyleUtility()

void G4VInteractiveSession::SetStyleUtility ( const G4String & destination,
const G4String & style )
protected

Definition at line 91 of file G4VInteractiveSession.cc.

92{
93 G4String destinationG4(destination);
94 G4String styleG4(style);
95
96 // Lambda expression for changing styles
97 const auto& setStyle = [&](const G4String& dest) {
98 auto& styleForThisDestination = fOutputStyles[dest];
99 if (styleG4 == "fixed") {
100 styleForThisDestination.fixed = true;
101 }
102 else if (styleG4 == "proportional") {
103 styleForThisDestination.fixed = false;
104 }
105 else if (styleG4 == "bold") {
106 styleForThisDestination.bold = true;
107 }
108 else if (styleG4 == "plain") {
109 styleForThisDestination.bold = false;
110 styleForThisDestination.highlight = false;
111 }
112 else if (styleG4 == "highlight") {
113 styleForThisDestination.highlight = true;
114 }
115 };
116
117 // Here is where the lambda expression is used
118 if (destinationG4 == "all") {
119 for (auto& i : fOutputStyles) {
120 setStyle(i.first);
121 }
122 }
123 else {
124 if (fOutputStyles.find(destinationG4) != fOutputStyles.end()) {
125 setStyle(destinationG4);
126 }
127 else { // Shouldn't happen, but...
129 ed << "Unrecognised output destination \"" << destinationG4 << '"';
130 G4Exception("G4VInteractiveSession::SetStyleUtility", "uiqt0002", JustWarning, ed);
131 }
132 }
133}
std::ostringstream G4ExceptionDescription

Referenced by G4UIQt::SetOutputStyle().

◆ UpdateDrawingStyle()

void G4VInteractiveSession::UpdateDrawingStyle ( G4int style)
virtual

Reimplemented in G4UIQt.

Definition at line 87 of file G4VInteractiveSession.cc.

87{}

Referenced by G4VViewer::UpdateGUIDrawingStyle().

◆ UpdateProjectionStyle()

void G4VInteractiveSession::UpdateProjectionStyle ( G4int style)
virtual

Reimplemented in G4UIQt.

Definition at line 88 of file G4VInteractiveSession.cc.

88{}

Referenced by G4VViewer::UpdateGUIProjectionStyle().

◆ UpdateSceneTree()

void G4VInteractiveSession::UpdateSceneTree ( const G4SceneTreeItem & )
virtual

Reimplemented in G4UIQt.

Definition at line 64 of file G4VInteractiveSession.cc.

64{}

Referenced by G4VViewer::UpdateGUISceneTree().

◆ UpdateTransparencySlider()

void G4VInteractiveSession::UpdateTransparencySlider ( G4double depth,
G4int option )
virtual

Reimplemented in G4UIQt.

Definition at line 89 of file G4VInteractiveSession.cc.

89{}

Referenced by G4VViewer::UpdateGUITransparencySlider().

Member Data Documentation

◆ fOutputStyles

std::map<G4String,OutputStyle> G4VInteractiveSession::fOutputStyles
protected
Initial value:
{
{"cout",{true,false,true}},
{"cerr",{true,true,true}},
{"warn",{true,false,true}},
{"error",{true,true,true}},
{"debug",{true,false,true}}}

Definition at line 74 of file G4VInteractiveSession.hh.

74 {
75 {"cout",{true,false,true}},
76 {"cerr",{true,true,true}},
77 {"warn",{true,false,true}},
78 {"error",{true,true,true}},
79 {"debug",{true,false,true}}};

Referenced by GetOutputStyles(), G4UIQt::ReceiveG4cerr(), G4UIQt::ReceiveG4cout(), G4UIQt::ReceiveG4debug(), and SetStyleUtility().


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