Beispiel #1
0
DialogBox *DialogBox::create(World *world) {
    DialogBox *ret = new(std::nothrow) DialogBox(world);

    if (ret && ret->init()) {
        ret->autorelease();
    } else {
        CC_SAFE_DELETE(ret);
    }

    return ret;
}
Beispiel #2
0
MythSchemaUpgrade SchemaUpgradeWizard::GuiPrompt(const QString &message,
                                                 bool upgradable, bool expert)
{
    DialogBox       * dlg;
    MythMainWindow  * win = GetMythMainWindow();

    if (!win)
        return MYTH_SCHEMA_ERROR;

    dlg = new DialogBox(win, message);
    dlg->AddButton(tr("Exit"));
    if (upgradable)
        dlg->AddButton(tr("Upgrade"));
    if (expert)
        // Not translated. This string can't appear in released builds.
        dlg->AddButton("Use current schema");

    DialogCode selected = dlg->exec();
    dlg->deleteLater();

    switch (selected)
    {
        case kDialogCodeRejected:
        case kDialogCodeButton0:
            return MYTH_SCHEMA_EXIT;
        case kDialogCodeButton1:
            return upgradable ? MYTH_SCHEMA_UPGRADE: MYTH_SCHEMA_USE_EXISTING;
        case kDialogCodeButton2:
            return MYTH_SCHEMA_USE_EXISTING;
        default:
            return MYTH_SCHEMA_ERROR;
    }
}
Beispiel #3
0
DatabaseBox::DatabaseBox(MythMainWindow *parent,
                         const QString dev, const QString &window_name,
                         const QString &theme_filename, const char *name)
           : MythThemedDialog(parent, window_name, theme_filename, name)
{
    m_CDdevice = dev;
    active_playlist = NULL;

    if (!gMusicData->all_music)
    {
        LOG(VB_GENERAL, LOG_ERR, "We are not going to get very far with a null "
                                 "pointer to metadata");
	// TODO: is this OK?
        exit(0);
    }

    //  Do we check the CD?
    cd_checking_flag = false;
    cd_checking_flag = gCoreContext->GetNumSetting("AutoLookupCD");

    QString treelev = gCoreContext->GetSetting("TreeLevels", "artist album title");
    QStringList treelevels = treelev.toLower().split(" ", QString::SkipEmptyParts);

    active_popup = NULL;
    active_pl_edit = NULL;

    playlist_popup = NULL;

    cditem = NULL;
    holding_track = false;

    tree = getUIListTreeType("musictree");
    if (!tree)
    {
        DialogBox *dlg = new DialogBox(
            GetMythMainWindow(),
            QObject::tr(
                "The theme you are using does not contain the "
                "%1 element. Please contact the theme creator "
                "and ask if they could please update it.<br><br>"
                "The next screen will be empty. "
                "Escape out of it to return to the menu.")
            .arg("'musictree'"));

        dlg->AddButton(tr("OK"));
        dlg->exec();
        dlg->deleteLater();

        return;
    }

    UITextType *line = NULL;

    for (int i = 1; i <= 6; i++)
    {
        QString linename = QString("line%1").arg(i);
        if ((line = getUITextType(linename)))
            m_lines.push_back(line);
    }

    if (m_lines.size() < 6)
    {
        DialogBox *dlg = new DialogBox(
            GetMythMainWindow(),
            tr("The theme you are using does not contain enough info "
               "lines in the music element. Please contact the theme "
               "creator and ask if they could please update it."));

        dlg->AddButton(tr("OK"));
        dlg->exec();
        dlg->deleteLater();
    }

    connect(tree, SIGNAL(itemEntered(UIListTreeType *, UIListGenericTree *)),
            this, SLOT(entered(UIListTreeType *, UIListGenericTree *)));

    // Make the first few nodes in the tree that everything else hangs off
    // as children

    rootNode = new UIListGenericTree(NULL, "Root Music Node");

    allmusic = new TreeCheckItem(rootNode, tr("All My Music"), "genre", 0);
    if (cd_checking_flag)
        cditem = new CDCheckItem(rootNode, tr("Blechy Blech Blah"), "cd", 0);
    alllists = new TreeCheckItem(rootNode, tr("All My Playlists"), "genre", 0);
    allcurrent = new PlaylistTitle(rootNode, tr("Active Play Queue"));

    tree->SetTree(rootNode);

    cd_reader_thread = NULL;
    if (cd_checking_flag)
    {
        // Start the CD checking thread, and set up a timer to make it check
        // occasionally

        cd_reader_thread = new ReadCDThread(m_CDdevice);

        // filling initialy before thread running
        fillCD();

        cd_reader_thread->start();

        cd_watcher = new QTimer(this);
        connect(cd_watcher, SIGNAL(timeout()), this, SLOT(occasionallyCheckCD()));
        cd_watcher->start(1000); // Every second?
    }

    // Set a timer to keep redoing the fillList stuff until the metadata and
    // playlist loading threads are done

    wait_counter = 0;
    numb_wait_dots = 0;
    fill_list_timer = new QTimer(this);
    connect(fill_list_timer, SIGNAL(timeout()), this, SLOT(keepFilling()));
    fill_list_timer->start(20);
}
Beispiel #4
0
void Ripper::ScanFinished()
{
    delete m_scanThread;
    m_scanThread = NULL;

    m_tracks->clear();

    bool isCompilation = false;
    bool newTune = true;
    if (m_decoder)
    {
        QString label;
        Metadata *metadata;

        m_artistName.clear();
        m_albumName.clear();
        m_genreName.clear();
        m_year.clear();
        bool yesToAll = false;
        bool noToAll = false;

        for (int trackno = 0; trackno < m_decoder->getNumTracks(); trackno++)
        {
            RipTrack *ripTrack = new RipTrack;

            metadata = m_decoder->getMetadata(trackno + 1);
            if (metadata)
            {
                ripTrack->metadata = metadata;
                ripTrack->length = metadata->Length();
                ripTrack->active = true;

                if (metadata->Compilation())
                {
                    isCompilation = true;
                    m_artistName = metadata->CompilationArtist();
                }
                else if (m_artistName.isEmpty())
                {
                    m_artistName = metadata->Artist();
                }

                if (m_albumName.isEmpty())
                    m_albumName = metadata->Album();

                if (m_genreName.isEmpty() && !metadata->Genre().isEmpty())
                    m_genreName = metadata->Genre();

                if (m_year.isEmpty() && metadata->Year() > 0)
                    m_year = QString::number(metadata->Year());

                QString title = metadata->Title();
                newTune = Ripper::isNewTune(m_artistName, m_albumName, title);

                if (newTune)
                {
                    m_tracks->push_back(ripTrack);
                }
                else
                {
                    if (yesToAll)
                    {
                        deleteTrack(m_artistName, m_albumName, title);
                        m_tracks->push_back(ripTrack);
                    }
                    else if (noToAll)
                    {
                        delete ripTrack;
                        delete metadata;
                        continue;
                    }
                    else
                    {
                        DialogBox *dlg = new DialogBox(
                            GetMythMainWindow(),
                            tr("Artist: %1\n"
                               "Album: %2\n"
                               "Track: %3\n\n"
                               "This track is already in the database. \n"
                               "Do you want to remove the existing track?")
                            .arg(m_artistName).arg(m_albumName).arg(title));

                        dlg->AddButton("No");
                        dlg->AddButton("No To All");
                        dlg->AddButton("Yes");
                        dlg->AddButton("Yes To All");
                        DialogCode res = dlg->exec();
                        dlg->deleteLater();
                        dlg = NULL;

                        if (kDialogCodeButton0 == res)
                        {
                            delete ripTrack;
                            delete metadata;
                        }
                        else if (kDialogCodeButton1 == res)
                        {
                            noToAll = true;
                            delete ripTrack;
                            delete metadata;
                        }
                        else if (kDialogCodeButton2 == res)
                        {
                            deleteTrack(m_artistName, m_albumName, title);
                            m_tracks->push_back(ripTrack);
                        }
                        else if (kDialogCodeButton3 == res)
                        {
                            yesToAll = true;
                            deleteTrack(m_artistName, m_albumName, title);
                            m_tracks->push_back(ripTrack);
                        }
                        else // treat cancel as no
                        {
                            delete ripTrack;
                            delete metadata;
                        }
                    }
                }
            }
            else
                delete ripTrack;
        }

        m_artistEdit->SetText(m_artistName);
        m_albumEdit->SetText(m_albumName);
        m_genreEdit->SetText(m_genreName);
        m_yearEdit->SetText(m_year);
        m_compilationCheck->SetCheckState(isCompilation);

        if (!isCompilation)
            m_switchTitleArtist->SetVisible(false);
        else
            m_switchTitleArtist->SetVisible(true);
    }

    BuildFocusList();
    updateTrackList();

    CloseBusyPopup();
}
Beispiel #5
0
void IconView::HandleImport(void)
{
    QFileInfo path;
    QDir importdir;

#if 0
    DialogBox *importDlg = new DialogBox(GetMythMainWindow(),
                                         tr("Import pictures?"));

    importDlg->AddButton(tr("No"));
    importDlg->AddButton(tr("Yes"));
    DialogCode code = importDlg->exec();
    importDlg->deleteLater();
    if (kDialogCodeButton1 != code)
        return;
#endif

    // Makes import directory samba/windows friendly (no colon)
    QString idirname = m_currDir + "/" +
        MythDate::current().toString("yyyy-MM-dd_hh-mm-ss");

    importdir.mkdir(idirname);
    importdir.setPath(idirname);

    for (QStringList::const_iterator it = m_paths.begin();
         it != m_paths.end(); ++it)
    {
        path.setFile(*it);
        if (path.isDir() && path.isReadable())
        {
            ImportFromDir(*it, importdir.absolutePath());
        }
#if 0
        else if (path.isFile() && path.isExecutable())
        {
            // TODO this should not be enabled by default!!!
            QString cmd = *it + " " + importdir.absolutePath();
            LOG(VB_GENERAL, LOG_INFO, LOC + QString("Executing %1").arg(cmd));
            myth_system(cmd);
        }
#endif
        else
        {
            LOG(VB_GENERAL, LOG_ERR, LOC +
                QString("Could not read or execute %1").arg(*it));
        }
    }

    importdir.refresh();
    if (importdir.count() == 0)
    {
#if 0
        DialogBox *nopicsDlg = new DialogBox(GetMythMainWindow(),
                                             tr("Nothing found to import"));

        nopicsDlg->AddButton(tr("OK"));
        nopicsDlg->exec();
        nopicsDlg->deleteLater();
#endif

        return;
    }

    LoadDirectory(m_currDir);
}
void MyFrame::OnTecla(wxKeyEvent& event)
{
 int ascii = event.GetKeyCode();
	/*wxBitmap adrixdown("/opt/extras.ubuntu.com/azpazeta/media/Adrix.png", wxBITMAP_TYPE_PNG);
	wxBitmap adrixup("/opt/extras.ubuntu.com/azpazeta/media/AdrixUp.png", wxBITMAP_TYPE_PNG);
	wxBitmap adrixleft("/opt/extras.ubuntu.com/azpazeta/media/AdrixLeft.png", wxBITMAP_TYPE_PNG);
	wxBitmap adrixright("/opt/extras.ubuntu.com/azpazeta/media/AdrixRight.png", wxBITMAP_TYPE_PNG);*/
wxClientDC dc(dcpanel);
switch(city){
	case 1:{
	switch(ascii)
	{	
	//El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy
		
		case WXK_LEFT: //Left
		if(adry< 390 && adrx<330){}else{
		adrx-=5;
		RenderLeft(dc);
		if(adrx<=1 && mision>=6){Stage2();}
		}
		break;
		case WXK_UP: //UP
		if(adry< 390 && adrx<330){}else{
		adry-=5;
		RenderUp(dc);}
		break;
		case WXK_RIGHT: //Right
		//if(){}else{
		adrx+=5;
		RenderRight(dc);
		break;
		case WXK_DOWN: //Down
		//if(/*adry< 330 && adrx<334*/){}else{
		adry+=5;
		RenderDown(dc);
		break;
		case WXK_RETURN:
		if(adry<=400 && adrx<180)
		{if(adrx>=140){
		switch(mision){
		case 0:{
		RenderUp(dc);
		dc.DrawText("Quien eres?\nNo te conozco.\nEres el nuevo?\nPresiona ENTER", wxPoint(625, 470));
		mision++;
		break;}
		case 1:
		RenderUp(dc);
		dc.DrawText("Bueno, me presento\nSoy Alfredo\nEl alcalde de Azpazeta\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 2:{
		RenderUp(dc);
		wxString completo=wxT("Como te llamas?\n")+newname+wxT("\nBonito nombre\nPresiona ENTER");
		dc.DrawText(completo,wxPoint(625,470));
		mision++;
		break;}
		case 3:
		RenderUp(dc);
		dc.DrawText("Te has perdido?\nSupongo que querras casa\nPero no va ser gratis\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 4:
		RenderUp(dc);
		dc.DrawText("Necesitaras un trabajo\nNo se de que\nEso lo dejo a tu eleccion\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 5:
		RenderUp(dc);
		dc.DrawText("[Objetivo anadido:\nEncontrar trabajo]\nPista: El pueblo esta a la izquierda",wxPoint(625,470));
		mision++;
		break;
		}}}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Adrix->Destroy();Load();}
		break;
		case WXK_TAB:
		wxMessageBox(wxT("TAB"));
		break;
		case WXK_SHIFT:{
		wxString cheat=wxGetTextFromUser(wxT("Introduce el Cheat Code"), wxT("Debug Mode"),wxT(""));
		if(cheat==wxT("2")){Stage1();Stage2();}}
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
	}break;}
	case 2:
	switch(ascii)
	{	
	//El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy
		case WXK_LEFT:
		if(adry< 470){}else{
		adrx-=5;
		RenderLeft(dc);
		if(adrx<=1 && mision==15){Stage3();}
		}
		break;
		case WXK_UP:
		if(adry< 470){}else{
		adry-=5;
		RenderUp(dc);}
		break;
		case WXK_RIGHT:
		//if(){}else{
		adrx+=5;
		RenderRight(dc);//}
		break;
		case WXK_DOWN:
		//if(/*adry< 330 && adrx<334*/){}else{
		adry+=5;
		RenderDown(dc);
		//}
		break;
		case WXK_RETURN:
		if(adry<=480)
		{if(adrx>=108 && adrx<=170){
		switch(mision){
		case 6:
		RenderUp(dc);
		dc.DrawText("\"El INEM\nSeguro que aqui habra trabajo\nVoy a ver\"\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 7:
		RenderUp(dc);
		dc.DrawText("Siguiente...\n-Venia a por trabajo\n-Tenemos en la panificadora\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 8:
		RenderUp(dc);
		dc.DrawText("-Creo que me valdra\n-Siguiente...\n\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 9:
		RenderUp(dc);
		dc.DrawText("[Objetivo anadido:\nIr a la panificadora]",wxPoint(625,470));
		mision++;
		break;
		default:
		RenderUp(dc);
		dc.DrawText("Otra vez tu\nAnda vete para fuera\n",wxPoint(625,470));
		}}
		if(adrx>=474 && adrx<=542){
		switch(mision){
		case 10:
		RenderUp(dc);
		dc.DrawText("(Ruidos)\nPUES SI, IMPORTA\nAnda, vete a...\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 11:
		RenderUp(dc);
		dc.DrawText("-Y tu quien eres?\n-Vengo por el puesto\n-Ah, sí.\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 12:
		RenderUp(dc);
		dc.DrawText("Trabajaras de comerciante\nambulante.\nIras por los pueblos\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 13:
		RenderUp(dc);
		dc.DrawText("Vamos a ver como lo haces\nVe a la plaza de Gorguez\nLleva estos panes\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		case 14:
		RenderUp(dc);
		dc.DrawText("[Objetivo anadido:\nVender los panes en Gorguez]\nPista: La estacion de tren\ntiene trenes locales",wxPoint(625,470));
		mision++;
		break; 
		default:
		RenderUp(dc);
		dc.DrawText("(Esta cerrado)",wxPoint(625,470));
		break;
		}}}

		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		SetMenuBar(menuBar);
		break;
		case WXK_SHIFT:{
		wxString cheat=wxGetTextFromUser(wxT("Introduce el Cheat Code"), wxT("Debug Mode"),wxT(""));
		if(cheat==wxT("2")){Stage1();Stage2();}}
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 3:
	switch(ascii)
	{	
	//El primer edificio está a 26 pix-------333pix y 27 piy--------------330 piy
		case WXK_LEFT:
		if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adrx==504){adrx--; RenderLeft(dc); }}else{
		if(adrx<=1){Stage4();}else{
		GOLEFT}
		//if(adrx==1 && mision>=6){Stage2();}
		}
		break;
		case WXK_UP:
		if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){printf("Valor X=%d Y=%d",adrx, adry);if(adry==199){adry--; RenderUp(dc);}}else{
		if(adry<=5){Stage7();}
GOUP}
		break;
		case WXK_RIGHT:
		if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adrx==306){adrx++; RenderRight(dc); }}else{
		if(adrx>=746){Stage2();}
GORIGHT}
		break;
		case WXK_DOWN:
		if((adry<156 && adrx<307) || ((adry<383 && adry>200) && adrx<307) || (adry<383 && adrx>503)){if(adry==382 || adry==155){adry++; RenderDown(dc);}}else{
GODOWN}
		break;
		case WXK_RETURN:
                //Trenes
		if(adry<=427 && (adrx>=633 && adrx<=670)){
		switch(mision){
		case 15:
		RenderUp(dc);
		dc.DrawText("-Supongo que es la estacion\nVamos a ver como es\nGorguez\nPresiona ENTER",wxPoint(625,470));
		mision++;
		break;
		default:
		wxPrintf("Cargando...");
		TrenDialog* trendlg=new TrenDialog();
		wxPrintf("Mostrando...");
		trendlg->ShowModal();
		trendlg->Destroy();
		Load();
		break;
		}}
                //Piso franco
                if(adry<=196 && (adrx>=156 && adrx<=182)){
		SaveDialog* savedlg;
                savedlg=new SaveDialog();
                savedlg->ShowModal();
                savedlg->Destroy();
		Load();
                }
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		wxMessageBox(wxT("TAB"));
		break;
		case WXK_SHIFT:
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 4:
	switch(ascii)
	{	
	//366-222
		case WXK_LEFT:
			if(adrx<=283){}else{
			GOLEFT}
		break;
		case WXK_UP:
			if(adry<=204 && adrx>=474){}else{
			if(adry<=10){Stage5();}
GOUP}
		break;
		case WXK_RIGHT:
			if((adry<=204 && adrx>=475) || (adry>=366 && adrx>=474)){}else{
			if(adrx>=746){Stage3();}
	GORIGHT}
		break;
		case WXK_DOWN:
			if(adry>=366 && adrx>=474){}else{
			GODOWN}
		break;
		case WXK_RETURN:
		if((adrx>=616 || adrx<=688) && adry>=360){
		DivelKey* keydlg=new DivelKey();
		keydlg->ShowModal();
		keydlg->Destroy();}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		
		break;
		case WXK_SHIFT:
		
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 5:
	switch(ascii)
	{	
	//366-222
		case WXK_LEFT:
		if(adrx<=362 && (adry<=226 || adry>=399)){}else{
		GOLEFT

		}
		break;
		case WXK_UP:
		if(adrx<=362 && adry<=226){}else{
		if(adry<=5){Stage6();}
		GOUP
		}		//226-362
		break;
		case WXK_RIGHT:
		if(adrx>=545){}else{
		GORIGHT
		}
		break;
		case WXK_DOWN:
		if(adrx<=362 && adry>=399){}else{
		if(adry>=540){Stage4();}
		GODOWN
		}//399-362
		break;
		case WXK_RETURN:
		if((adrx>=154 && adrx<=222) && adry<=230){
		switch(mision){
		default: Police* poldlg=new Police();
		poldlg->ShowModal();
		poldlg->Destroy();
			}		
			}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		
		break;
		case WXK_SHIFT:
		
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 6:
	switch(ascii)
	{	
	//366-222
		case WXK_LEFT:
		GOLEFT
		break;
		case WXK_UP:
		if(adry<=300){}else{
		GOUP
		}
		break;
		case WXK_RIGHT:
		GORIGHT
		break;
		case WXK_DOWN:
		if(adry>=540){ Stage5();}
		GODOWN
		break;
		case WXK_RETURN:
		//Entrar en Hipermercado
		if(adry<=320 && (adrx>=407 && adrx<=470)){Hiper* hiperdlg; hiperdlg=new Hiper(); hiperdlg->ShowModal();hiperdlg->Destroy();}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		
		break;
		case WXK_SHIFT:
		
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 7:
	switch(ascii)
	{	
	//366-222
		case WXK_LEFT:
		GOLEFT
		break;
		case WXK_UP:
		if(adry<=300){}else{
		GOUP
		}
		break;
		case WXK_RIGHT:
		GORIGHT
		break;
		case WXK_DOWN:
		if(adry>=540){Stage3();}
		GODOWN
		break;
		case WXK_RETURN:
		if(adry<=302 && (adrx>=382 && adrx<=440)){Golf* golfdlg; golfdlg=new Golf();golfdlg->ShowModal();golfdlg->Destroy();}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		
		break;
		case WXK_SHIFT:
		
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;
	case 11:
	switch(ascii)
	{	
	//366-222
		case WXK_LEFT:
		if((adrx<=405 && adry>=405) || (adrx<=150 && adry<=130)){}else{
		GOLEFT
		}
		break;
		case WXK_UP:
		if((adrx<=150 && adry<=130) || (adrx>=555 && adry<=340)){}else{
		GOUP
		}
		break;
		case WXK_RIGHT:
		if(adrx>=555 && (adry<=340 || adry>=505)){}else{
		GORIGHT
		}
		break;
		case WXK_DOWN:
		if((adrx<=405 && adry>=405) || (adrx>=555 && adry>=505)){}else{
		GODOWN
		}
		break;
		case WXK_RETURN:
		//Bread&Pan
		if(adrx<=102 && adry<=152){
		DialogBox* dlgbox;
		dlgbox=new DialogBox();
		dlgbox->ShowModal();
		dlgbox->Destroy();
		}
		//Mercado
		if((adrx>=665 && adrx<=732) && adry<=358){
		Mercado* merdlg;
		merdlg=new Mercado();
		merdlg->ShowModal();
		merdlg->Destroy();
		}
		//Estacion de Tren
		if((adrx>=665 && adrx<=732) && adry>=498){
		int iraazpazeta=wxMessageBox("Deseas ir a Azpazeta por 50 $?","Train Station",wxYES_NO|wxICON_QUESTION);
		if(iraazpazeta==wxYES){
		money-=50;
		city=3;
		Load();
		}
		}
		break;
		case WXK_ESCAPE:
		if(aux==1){SaveDialog* savedlg;savedlg=new SaveDialog();savedlg->ShowModal();savedlg->Destroy();Load();}
		break;
		case WXK_TAB:
		
		break;
		case WXK_SHIFT:
		
		break;
		case WXK_ALT:
		SetMenuBar(menuBar);
		break;
		}break;

}
}