Esempio n. 1
0
void frmMain::OnSelActivated(wxTreeEvent &event)
{
    // This handler will primarily deal with displaying item
    // properties in seperate windows and 'Add xxx...' clicks

    // Get the item data, and feed it to the relevant handler,
    // cast as required.

    wxTreeItemId item = event.GetItem();
    pgObject *data = browser->GetObject(item);
    if (!data)
        return;
    pgServer *server;
    wxCommandEvent nullEvent;

    if (data->IsCreatedBy(serverFactory))
    {
        server = (pgServer *)data;
        if (!server->GetConnected())
        {
            if (ReconnectServer(server) == PGCONN_OK)
            {
                // prevent from being collapsed immediately

                denyCollapseItem=item;
            }
        }
    }
    else
    {
        if (settings->GetDoubleClickProperties() && propFactory->CheckEnable(data))
        {
            propFactory->StartDialog(this, data);
            event.Skip();
            return;
        }
    }

#ifndef __WXMSW__
    browser->Expand(item);
#endif
}
Esempio n. 2
0
void frmMain::OnNew(wxCommandEvent &ev)
{
	pgaFactory *factory = pgaFactory::GetFactory(ev.GetId() - MNU_NEW);

	if (factory == &serverFactory)
	{
		if (currentObject && currentObject->IsCreatedBy(serverFactory))
		{
			pgServer *server = (pgServer *)currentObject;
			if (!server->GetConnected())
				ReconnectServer(server);
		}
		return;
	}

	if (currentObject)
	{
		if (!dlgProperty::CreateObjectDialog(this, currentObject, factory))
			CheckAlive();
	}
}