Ejemplo n.º 1
0
void PanelSurface::DoListenToMessage( std::string const iMsg, void* iData, void* sender )
{
// MainWindow* mainwnd = MainWindow::GetMainWindow();
// LayerCollection* lc = mainwnd->GetLayerCollection();
  if ( iMsg == "LayerAdded" )
  {
    Layer* layer = ( Layer* )iData;
    if ( layer && layer->IsTypeOf( "Surface" ) )
    {
      m_listBoxLayers->Insert( wxString::FromAscii( layer->GetName() ), 0, (void*)layer );
      m_listBoxLayers->Check( 0 );
      m_listBoxLayers->SetSelection( 0 );
    }

    UpdateUI();
  }
  else if ( iMsg == "LayerMoved" || iMsg == "LayerNameChanged" )
  {
    Layer* layer = ( Layer* )iData;
    if ( layer && layer->IsTypeOf( "Surface" ) )
    {
      UpdateLayerList( layer );
    }
  }
  else if ( iMsg == "LayerModified" || iMsg == "LayerActorUpdated" )
  {
    UpdateUI();
  }
}
Ejemplo n.º 2
0
void MapServerDlg::OnInitDialog(wxInitDialogEvent& event)
{
	GetBaseUrl()->Clear();
	int numservers = m_pServers->size();
	for (int i = 0; i < numservers; i++)
	{
		wxString str(m_pServers->at(i).m_url, wxConvUTF8);
		GetBaseUrl()->Append(str);
	}
	// If no selection, pick the first server
	if (m_pServers->m_iSelected == -1 && numservers > 0)
		m_pServers->m_iSelected = 0;
	// Keep selection in range
	if (m_pServers->m_iSelected >= numservers)
		m_pServers->m_iSelected = numservers-1;
	// Apply selection
	if (m_pServers->m_iSelected != -1)
		GetBaseUrl()->SetSelection(m_pServers->m_iSelected);
	m_iServer = m_pServers->m_iSelected;

	UpdateEnabling();
	UpdateLayerList();
	UpdateLayerDescription();

	m_bSetting = true;
	wxWindow::OnInitDialog(event);
	m_bSetting = false;
}
Ejemplo n.º 3
0
void MapServerDlg::OnQueryLayers( wxCommandEvent &event )
{
#if SUPPORT_CURL
	VTLOG1("OnQueryLayers\n");

	wxString val = GetBaseUrl()->GetValue();
	vtString url = (const char *) val.mb_str(wxConvUTF8);
	
	OpenProgressDialog(_("Querying server..."), val, false, this);

	VTLOG("  from base URL: %s\n", (const char *)url);

	vtString msg;
	bool success = GetLayersFromWMS(url, m_pServers->at(m_iServer).m_layers,
		msg, progress_callback);

	CloseProgressDialog();

	if (success)
	{
		UpdateLayerList();
		UpdateLayerDescription();
		UpdateURL();
	}
	else
	{
		VTLOG("Error: '%s'\n", (const char *)msg);
		wxString str(msg, wxConvUTF8);
		wxMessageBox(str);
	}
#endif // SUPPORT_CURL
}
Ejemplo n.º 4
0
void MapServerDlg::OnServer( wxCommandEvent &event )
{
	m_iServer = GetBaseUrl()->GetSelection();
	m_pServers->m_iSelected = m_iServer;
	UpdateLayerList();
	UpdateLayerDescription();
	UpdateURL();
}
Ejemplo n.º 5
0
LevelEditor::LevelEditor(Map& map, Level& level, int pos)
{
	CtrlLayout(*this, "Редактор этажа");
	MaximizeBox().Sizeable();

	_item  = -1;
	_pos   = pos;
	_map   = &map;
	_level = &level;

	EditView.HideLevelsCtrl();
	EditView.HideNavButtons();

	LayerList.WhenToolBar = THISBACK(CreateLayerToolBar);
	LayerList.WhenChangeRow = THISBACK(UpdateItemList);
	LayerList.AddColumn(t_("#")).Min(HorzLayoutZoom(40)).Max(VertLayoutZoom(40))
		.HeaderAlignCenter().AlignCenter();
	LayerList.SetToolBar();

	LayerList.AddColumn(t_("Layer Name"))
		.HeaderAlignCenter().AlignCenter();

	ItemList.WhenToolBar = THISBACK(CreateItemToolBar);
	ItemList.WhenChangeRow = THISBACK(OnItemSelect);
	ItemList.WhenLeftDouble = THISBACK(OnItemProperties);
	ItemList.AddColumn(t_("#")).Min(HorzLayoutZoom(40)).Max(VertLayoutZoom(40))
		.HeaderAlignCenter().AlignCenter();
	ItemList.SetToolBar();

	ItemList.AddColumn(t_("Item Name"))
		.HeaderAlignCenter().AlignCenter();

	ItemTypeList.Add(t_("Rooms"));
	ItemTypeList.SetIndex(0);

	LoadMap();
	UpdateLayerList();
}