MCPcopy Create free account
hub / github.com/RGAA-Software/GoDesk / InitFloatController

Method InitFloatController

src/client/ct_game_view.cpp:264–299  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

262 }
263
264 void GameView::InitFloatController()
265 {
266 // float controller
267 int shadow_color = 0x999999;
268 float_controller_ = new FloatController(ctx_, this);
269 float_controller_->installEventFilter(this);
270 float_controller_->setFixedSize(40, 40);
271 WidgetHelper::AddShadow(float_controller_, shadow_color);
272 controller_panel_ = new FloatControllerPanel(ctx_, this);
273 WidgetHelper::AddShadow(controller_panel_, shadow_color);
274 RegisterControllerPanelListeners();
275 controller_panel_->installEventFilter(this);
276 controller_panel_->hide();
277
278 float_controller_->SetOnClickListener([=, this]() {
279 QPoint point = float_controller_->mapToGlobal(QPoint(0, 0));
280 point.setX(float_controller_->pos().x() + float_controller_->width() + 10);
281 point.setY(float_controller_->pos().y());
282 controller_panel_->move(point);
283 if (controller_panel_->isHidden()) {
284 if (!float_controller_->HasMoved()) {
285 controller_panel_->show();
286 }
287 }
288 else {
289 controller_panel_->Hide();
290 }
291 });
292
293 float_controller_->SetOnMoveListener([=, this]() {
294 if (!controller_panel_) {
295 return;
296 }
297 controller_panel_->Hide();
298 });
299 }
300
301 void GameView::RegisterControllerPanelListeners() {
302 controller_panel_->SetOnDebugListener([=, this](QWidget* w) {

Callers

nothing calls this directly

Calls 4

HasMovedMethod · 0.80
SetOnMoveListenerMethod · 0.80
SetOnClickListenerMethod · 0.45
HideMethod · 0.45

Tested by

no test coverage detected