Ejemplo n.º 1
0
void LayersMgrWidget::onDelLayer(wxCommandEvent& event)
{
	int index = getEditLayerIndex();

	m_layersSizer->Detach(m_layers.size() - 1 - index);
	delete m_layers[index]->getLayer();
	delete m_layers[index];
	m_layers.erase(m_layers.begin() + index);

	if (index < m_layers.size())
		setEditable(m_layers[index]);
	else
		setEditable(m_layers.back());

	if (m_layers.empty())
		m_editedLayer = NULL;

	if (m_layers.size() == 1)
		m_btnDel->Enable(false);

	m_parent->Fit();

	wxWindow* root = m_parent;
	while (root->GetParent())
		root = root->GetParent();
	root->Refresh();
}
Ejemplo n.º 2
0
void LayersMgrWidget::onLayerDown(wxCommandEvent& event)
{
	int index = getEditLayerIndex();

	LayerWidget* layer = m_layers[index];
	m_layers[index] = m_layers[index - 1];
	m_layers[index - 1] = layer;

	m_layersSizer->Remove(m_layers.size() - 1 - index);
	m_layersSizer->Insert(m_layers.size() - 1 - (index - 1), layer);

	if (index - 1 == 0)
	{
		m_btnDown->Enable(false);
		m_btnUp->Enable(true);

		// debug fix
		setEditable(layer);
	}
	else
	{
		m_btnDown->Enable(true);
		m_btnUp->Enable(true);
	}

	Layout();
	Refresh();
}
Ejemplo n.º 3
0
void LayersMgrWidget::onLayerUp(wxCommandEvent& event)
{
	int index = getEditLayerIndex();

	LayerWidget* layer = m_layers[index];
	m_layers[index] = m_layers[index + 1];
	m_layers[index + 1] = layer;

 	m_layersSizer->Remove(m_layers.size() - 1 - index);
 	m_layersSizer->Insert(m_layers.size() - 1 - (index + 1), layer);

	if (index + 1 == m_layers.size() - 1)
	{
		m_btnDown->Enable(true);
		m_btnUp->Enable(false);
	}
	else
	{
		m_btnDown->Enable(true);
		m_btnUp->Enable(true);
	}

	m_stage->Refresh();

	Layout();
	Refresh();
}