Implemented world.edit property
Dieser Commit ist enthalten in:
Ursprung
a205559045
Commit
e8172078d6
@ -225,6 +225,13 @@ void MainWindow::connectToServer()
|
||||
[this]()
|
||||
{
|
||||
m_world = m_connection->world();
|
||||
|
||||
if(m_world)
|
||||
{
|
||||
if(AbstractProperty* edit = m_world->getProperty("edit"))
|
||||
connect(edit, &AbstractProperty::valueChangedBool, m_actionEdit, &QAction::setChecked);
|
||||
}
|
||||
|
||||
updateActions();
|
||||
});
|
||||
clientStateChanged();
|
||||
|
||||
@ -97,6 +97,22 @@ World::World() :
|
||||
state.setValueInternal(state.value() - WorldState::TrackPowerOff);
|
||||
event(WorldEvent::TrackPowerOn);
|
||||
}},
|
||||
edit{this, "edit", false, PropertyFlags::ReadWrite,
|
||||
[this](bool value)
|
||||
{
|
||||
if(value)
|
||||
{
|
||||
Traintastic::instance->console->notice(classId, "Edit mode: enabled");
|
||||
state.setValueInternal(state.value() + WorldState::Edit);
|
||||
event(WorldEvent::EditEnabled);
|
||||
}
|
||||
else
|
||||
{
|
||||
Traintastic::instance->console->notice(classId, "Edit mode: disabled");
|
||||
state.setValueInternal(state.value() - WorldState::Edit);
|
||||
event(WorldEvent::EditDisabled);
|
||||
}
|
||||
}},
|
||||
save{*this, "save",
|
||||
[this]()
|
||||
{
|
||||
@ -133,6 +149,7 @@ World::World() :
|
||||
m_interfaceItems.add(emergencyStop);
|
||||
m_interfaceItems.add(trackPowerOff);
|
||||
m_interfaceItems.add(trackPowerOn);
|
||||
m_interfaceItems.add(edit);
|
||||
|
||||
m_interfaceItems.add(save);
|
||||
}
|
||||
|
||||
@ -77,6 +77,7 @@ class World : public Object
|
||||
Method<void()> emergencyStop;
|
||||
Method<void()> trackPowerOff;
|
||||
Method<void()> trackPowerOn;
|
||||
Property<bool> edit;
|
||||
|
||||
Method<void()> save;
|
||||
|
||||
|
||||
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren