void MyDialog::GetHiscoreName() { MAS::Window win; Dialog clientArea; ClearScreen clr; EditBox edit; Label l1, l2; Button but; clientArea.Add(clr); win.title.SetText("Game Over!"); clientArea.Resize(278, 98); l1.Setup(10, 10, 200, 16, 0, 0, "You have a high score!", 0); l2.Setup(10, 38, 128, 16, 0, 0, "Enter your name:", 0); edit.Setup(150, 26, 100, 28, 0, D_EXIT, "player", 8); but.Setup(50, 60, 130, 24, ALLEGRO_KEY_O, D_EXIT, "&OK"); clientArea.Add(l1); clientArea.Add(l2); clientArea.Add(edit); clientArea.Add(but); win.SetClientArea(&clientArea); win.Centre(); edit.Select(); //TODO //win.Popup(this, win.x(), win.y(), &edit); hsc->Add(edit.GetText(), eScore.GetInt(), eLines.GetInt()); }
void MyDialog::ShowScores() { MAS::Window win; Dialog clientArea; ClearScreen clr; Panel pan; Label lName[10], lScore[10], lLines[10]; Button but; clientArea.Add(clr); clientArea.Add(pan); std::list<HighscoreItem *>::iterator iter = hsc->items.begin(); for (int i=0; i<10; i++, ++iter) { lName[i].ClearFlag(D_AUTOSIZE); lName[i].Shape(16, i*20 + 10, 80, 20); lName[i].SetText((*iter)->name); clientArea.Add(lName[i]); lScore[i].ClearFlag(D_AUTOSIZE); lScore[i].AlignCentre(); lScore[i].Shape(108, i*20 + 10, 40, 20); lScore[i].SetNumber((*iter)->score); clientArea.Add(lScore[i]); lLines[i].ClearFlag(D_AUTOSIZE); lLines[i].AlignCentre(); lLines[i].Shape(150, i*20 + 10, 40, 20); lLines[i].SetNumber((*iter)->lines); clientArea.Add(lLines[i]); } but.Setup(40, 220, 120, 24, ALLEGRO_KEY_O, D_EXIT, "&OK"); clientArea.Add(but); pan.Shape(4, 4, 192, 248); clientArea.Resize(200,256); win.title.SetText("High Scores"); win.SetClientArea(&clientArea); win.ClearFlag(D_RESIZABLE); win.Centre(); //TODO #if 0 win.Popup(this, win.x(), win.y(), &but); #endif }