begin plugin menu
This commit is contained in:
parent
3d9f0601fe
commit
afb0b35540
@ -53,7 +53,7 @@ class ScriptSettings implements ConfiguratorMenu {
|
||||
public function getTitle() {
|
||||
return $this->maniaControl->settingManager->getSetting($this, self::SETTING_TITLE);
|
||||
}
|
||||
|
||||
//TODO: boolean values not as entry
|
||||
/**
|
||||
*
|
||||
* @see \ManiaControl\Configurators\ConfiguratorMenu::getMenu()
|
||||
|
@ -26,6 +26,7 @@ class PluginManager {
|
||||
private $activePlugins = array();
|
||||
private $pluginClasses = array();
|
||||
|
||||
|
||||
/**
|
||||
* Construct plugin manager
|
||||
*
|
||||
@ -74,7 +75,7 @@ class PluginManager {
|
||||
* @param bool $active
|
||||
* @return bool
|
||||
*/
|
||||
private function savePluginStatus($className, $active) {
|
||||
public function savePluginStatus($className, $active) {
|
||||
$mysqli = $this->maniaControl->database->mysqli;
|
||||
$pluginStatusQuery = "INSERT INTO `" . self::TABLE_PLUGINS . "` (
|
||||
`className`,
|
||||
@ -106,7 +107,7 @@ class PluginManager {
|
||||
* @param string $className
|
||||
* @return bool
|
||||
*/
|
||||
private function getPluginStatus($className) {
|
||||
public function getPluginStatus($className) {
|
||||
$mysqli = $this->maniaControl->database->mysqli;
|
||||
$pluginStatusQuery = "SELECT `active` FROM `" . self::TABLE_PLUGINS . "`
|
||||
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;
|
||||
|
||||
use FML\Controls\Quad;
|
||||
use FML\Controls\Quads\Quad_Icons64x64_1;
|
||||
use ManiaControl\ManiaControl;
|
||||
use ManiaControl\Players\Player;
|
||||
use ManiaControl\Configurators\ConfiguratorMenu;
|
||||
use FML\Script\Pages;
|
||||
use FML\Script\Tooltips;
|
||||
use FML\Controls\Frame;
|
||||
use FML\Controls\Label;
|
||||
use FML\Controls\Labels\Label_Text;
|
||||
use FML\Controls\Control;
|
||||
|
||||
/**
|
||||
* Configurator for enabling and disabling plugins
|
||||
@ -43,6 +48,70 @@ class PluginMenu implements ConfiguratorMenu {
|
||||
*/
|
||||
public function getMenu($width, $height, Pages $pages, Tooltips $tooltips) {
|
||||
$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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user