begin plugin menu
This commit is contained in:
parent
3d9f0601fe
commit
afb0b35540
@ -53,7 +53,7 @@ class ScriptSettings implements ConfiguratorMenu {
|
|||||||
public function getTitle() {
|
public function getTitle() {
|
||||||
return $this->maniaControl->settingManager->getSetting($this, self::SETTING_TITLE);
|
return $this->maniaControl->settingManager->getSetting($this, self::SETTING_TITLE);
|
||||||
}
|
}
|
||||||
|
//TODO: boolean values not as entry
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @see \ManiaControl\Configurators\ConfiguratorMenu::getMenu()
|
* @see \ManiaControl\Configurators\ConfiguratorMenu::getMenu()
|
||||||
|
@ -26,6 +26,7 @@ class PluginManager {
|
|||||||
private $activePlugins = array();
|
private $activePlugins = array();
|
||||||
private $pluginClasses = array();
|
private $pluginClasses = array();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct plugin manager
|
* Construct plugin manager
|
||||||
*
|
*
|
||||||
@ -74,7 +75,7 @@ class PluginManager {
|
|||||||
* @param bool $active
|
* @param bool $active
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
private function savePluginStatus($className, $active) {
|
public function savePluginStatus($className, $active) {
|
||||||
$mysqli = $this->maniaControl->database->mysqli;
|
$mysqli = $this->maniaControl->database->mysqli;
|
||||||
$pluginStatusQuery = "INSERT INTO `" . self::TABLE_PLUGINS . "` (
|
$pluginStatusQuery = "INSERT INTO `" . self::TABLE_PLUGINS . "` (
|
||||||
`className`,
|
`className`,
|
||||||
@ -106,7 +107,7 @@ class PluginManager {
|
|||||||
* @param string $className
|
* @param string $className
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
private function getPluginStatus($className) {
|
public function getPluginStatus($className) {
|
||||||
$mysqli = $this->maniaControl->database->mysqli;
|
$mysqli = $this->maniaControl->database->mysqli;
|
||||||
$pluginStatusQuery = "SELECT `active` FROM `" . self::TABLE_PLUGINS . "`
|
$pluginStatusQuery = "SELECT `active` FROM `" . self::TABLE_PLUGINS . "`
|
||||||
WHERE `className` = ?;";
|
WHERE `className` = ?;";
|
||||||
@ -168,6 +169,22 @@ class PluginManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getPluginClasses()
|
||||||
|
{
|
||||||
|
return $this->pluginClasses;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getActivePlugins()
|
||||||
|
{
|
||||||
|
return $this->activePlugins;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -2,12 +2,17 @@
|
|||||||
|
|
||||||
namespace ManiaControl\Plugins;
|
namespace ManiaControl\Plugins;
|
||||||
|
|
||||||
|
use FML\Controls\Quad;
|
||||||
|
use FML\Controls\Quads\Quad_Icons64x64_1;
|
||||||
use ManiaControl\ManiaControl;
|
use ManiaControl\ManiaControl;
|
||||||
use ManiaControl\Players\Player;
|
use ManiaControl\Players\Player;
|
||||||
use ManiaControl\Configurators\ConfiguratorMenu;
|
use ManiaControl\Configurators\ConfiguratorMenu;
|
||||||
use FML\Script\Pages;
|
use FML\Script\Pages;
|
||||||
use FML\Script\Tooltips;
|
use FML\Script\Tooltips;
|
||||||
use FML\Controls\Frame;
|
use FML\Controls\Frame;
|
||||||
|
use FML\Controls\Label;
|
||||||
|
use FML\Controls\Labels\Label_Text;
|
||||||
|
use FML\Controls\Control;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configurator for enabling and disabling plugins
|
* Configurator for enabling and disabling plugins
|
||||||
@ -43,6 +48,70 @@ class PluginMenu implements ConfiguratorMenu {
|
|||||||
*/
|
*/
|
||||||
public function getMenu($width, $height, Pages $pages, Tooltips $tooltips) {
|
public function getMenu($width, $height, Pages $pages, Tooltips $tooltips) {
|
||||||
$frame = new Frame();
|
$frame = new Frame();
|
||||||
|
|
||||||
|
$pluginClasses = $this->maniaControl->pluginManager->getPluginClasses();
|
||||||
|
//$labelStyleSetting = $this->maniaControl->settingManager->getSetting($this, self::SETTING_STYLE_SETTING);
|
||||||
|
$labelStyleSetting = Label_Text::STYLE_TextStaticSmall;
|
||||||
|
// $pagerSize = 9.;
|
||||||
|
$entryHeight = 5.;
|
||||||
|
$labelTextSize = 2;
|
||||||
|
// $pageMaxCount = 13;
|
||||||
|
$pageFrames = array();
|
||||||
|
$y = 0.;
|
||||||
|
foreach ($pluginClasses as $pluginClass) {
|
||||||
|
if (!isset($pageFrame)) {
|
||||||
|
$pageFrame = new Frame();
|
||||||
|
$frame->add($pageFrame);
|
||||||
|
array_push($pageFrames, $pageFrame);
|
||||||
|
$y = $height * 0.41;
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if plugin is aktiv
|
||||||
|
$active = $this->maniaControl->pluginManager->getPluginStatus($pluginClass);
|
||||||
|
|
||||||
|
|
||||||
|
$settingFrame = new Frame();
|
||||||
|
$pageFrame->add($settingFrame);
|
||||||
|
$settingFrame->setY($y);
|
||||||
|
|
||||||
|
//TODO: Red or Green quad to see if the plugin is aktiv (not working yet)
|
||||||
|
$aktivQuad = new Quad_Icons64x64_1();
|
||||||
|
$settingFrame->add($aktivQuad);
|
||||||
|
$aktivQuad->setStyle(Quad_Icons64x64_1::SUBSTYLE_ArrowRed);
|
||||||
|
$aktivQuad->setHeight(10);
|
||||||
|
$aktivQuad->setWidth(10);
|
||||||
|
$aktivQuad->setX($width * 0.2);
|
||||||
|
|
||||||
|
$nameLabel = new Label();
|
||||||
|
$settingFrame->add($nameLabel);
|
||||||
|
$nameLabel->setHAlign(Control::LEFT);
|
||||||
|
$nameLabel->setX($width * -0.4);
|
||||||
|
$nameLabel->setSize($width * 0.4, $entryHeight);
|
||||||
|
$nameLabel->setStyle($labelStyleSetting);
|
||||||
|
$nameLabel->setTextSize($labelTextSize);
|
||||||
|
$nameLabel->setText($pluginClass);
|
||||||
|
|
||||||
|
//TODO description
|
||||||
|
$descriptionLabel = new Label();
|
||||||
|
$pageFrame->add($descriptionLabel);
|
||||||
|
$descriptionLabel->setHAlign(Control::LEFT);
|
||||||
|
$descriptionLabel->setPosition($width * -0.45, $height * -0.44);
|
||||||
|
//$descriptionLabel->setSize($width * 0.7, $settingHeight);
|
||||||
|
//$descriptionLabel->setStyle($labelStyleDescription);
|
||||||
|
$descriptionLabel->setTranslate(true);
|
||||||
|
$descriptionLabel->setTextPrefix('Desc: ');
|
||||||
|
//$descriptionLabel->setText($scriptParam['Desc']);
|
||||||
|
$tooltips->add($nameLabel, $descriptionLabel);
|
||||||
|
|
||||||
|
//TODO set aktive button
|
||||||
|
$y -= $entryHeight;
|
||||||
|
// if ($index % $pageMaxCount == $pageMaxCount - 1) {
|
||||||
|
// unset($pageFrame);
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
//TODO multiple pages
|
||||||
|
//$pages->add(array(-1 => $pagerPrev, 1 => $pagerNext), $pageFrames, $pageCountLabel);
|
||||||
|
|
||||||
return $frame;
|
return $frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user