From 73443c6239466b3ba639e3daa790792bcf6e8c96 Mon Sep 17 00:00:00 2001 From: kremsy Date: Sun, 5 Jan 2014 19:20:54 +0100 Subject: [PATCH] mc settings --- .../Configurators/ManiaControlSettings.php | 74 ++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/application/core/Configurators/ManiaControlSettings.php b/application/core/Configurators/ManiaControlSettings.php index aa5a8ab9..c52c2996 100644 --- a/application/core/Configurators/ManiaControlSettings.php +++ b/application/core/Configurators/ManiaControlSettings.php @@ -7,7 +7,11 @@ namespace ManiaControl\Configurators; +use FML\Controls\Control; use FML\Controls\Frame; +use FML\Controls\Label; +use FML\Controls\Labels\Label_Text; +use FML\Controls\Quads\Quad_Icons64x64_1; use FML\Script\Script; use ManiaControl\ManiaControl; use ManiaControl\Players\Player; @@ -39,7 +43,7 @@ class ManiaControlSettings implements ConfiguratorMenu{ * @return string */ public function getTitle() { - self::TITLE; + return self::TITLE; } /** @@ -51,16 +55,82 @@ class ManiaControlSettings implements ConfiguratorMenu{ * @return \FML\Controls\Frame */ public function getMenu($width, $height, Script $script) { - $pagesId = 'ScriptSettingsPages'; + $pagesId = 'ManiaControlSettingsPages'; $frame = new Frame(); + // Config + $pagerSize = 9.; + $settingHeight = 5.; + $labelTextSize = 2; + $pageMaxCount = 13; + + //Pagers + $pagerPrev = new Quad_Icons64x64_1(); + $frame->add($pagerPrev); + $pagerPrev->setPosition($width * 0.39, $height * -0.44, 2); + $pagerPrev->setSize($pagerSize, $pagerSize); + $pagerPrev->setSubStyle(Quad_Icons64x64_1::SUBSTYLE_ArrowPrev); + + $pagerNext = new Quad_Icons64x64_1(); + $frame->add($pagerNext); + $pagerNext->setPosition($width * 0.45, $height * -0.44, 2); + $pagerNext->setSize($pagerSize, $pagerSize); + $pagerNext->setSubStyle(Quad_Icons64x64_1::SUBSTYLE_ArrowNext); + + $script->addPager($pagerPrev, -1, $pagesId); + $script->addPager($pagerNext, 1, $pagesId); + + $pageCountLabel = new Label(); + $frame->add($pageCountLabel); + $pageCountLabel->setHAlign(Control::RIGHT); + $pageCountLabel->setPosition($width * 0.35, $height * -0.44, 1); + $pageCountLabel->setStyle('TextTitle1'); + $pageCountLabel->setTextSize(2); + + $script->addPageLabel($pageCountLabel, $pagesId); + + /** @var ManiaControl/SettingManager $this->maniaControl->settingManager */ $settings = $this->maniaControl->settingManager->getSettings(); + $pageFrames = array(); + $y = 0; + $index = 1; foreach($settings as $setting){ + + if (!isset($pageFrame)) { + $pageFrame = new Frame(); + $frame->add($pageFrame); + if (!empty($pageFrames)) { + $pageFrame->setVisible(false); + } + array_push($pageFrames, $pageFrame); + $y = $height * 0.41; + $script->addPage($pageFrame, count($pageFrames), $pagesId); + } + + $settingFrame = new Frame(); + $pageFrame->add($settingFrame); + $settingFrame->setY($y); + + $nameLabel = new Label_Text(); + $settingFrame->add($nameLabel); + $nameLabel->setHAlign(Control::LEFT); + $nameLabel->setX($width * -0.46); + $nameLabel->setSize($width * 0.4, $settingHeight); + $nameLabel->setStyle($nameLabel::STYLE_TextCardSmall); + $nameLabel->setTextSize($labelTextSize); + $nameLabel->setText($setting->setting); + + var_dump($setting); + $y -= $settingHeight; + if ($index % $pageMaxCount == $pageMaxCount - 1) { + unset($pageFrame); + } + $index++; } return $frame;