Guide:Mod Organizer/Python Plugins: Difference between revisions

From Step Mods | Change The Game
m (Text replace - "http://" to "https://")
mNo edit summary
Line 1: Line 1:
<div style="margin-top:-2px">< [[Guide:Mod_Organizer|Guide:Mod Organizer]]</div>
<div style="margin-top:-2px">< [[Guide:Mod_Organizer|Guide:Mod Organizer]]</div>
__TOC__
__TOC__[[Category:Application Guides]]


=How to add Python plugins to Mod Organizer=
=How to add Python plugins to Mod Organizer=
Line 78: Line 78:


if you place a file with a similiar structure inside the /plugins/ dir, MO will automatically find it and add it to the tools list.
if you place a file with a similiar structure inside the /plugins/ dir, MO will automatically find it and add it to the tools list.
[[Category:Advanced_Topics]]

Revision as of 21:04, January 26, 2021

How to add Python plugins to Mod Organizer

requirements

requirements for user interface (optional)

PyQt4 comes with pyuic

Location: Python27\Lib\site-packages\PyQt4\uic\pyuic.py 

it generates .py commands from a Qt4 .ui file:

pyuic.py YOURDESIGN.ui > YOURDESIGN.py


Hello World app

still got a bug in there, but the source gives you an idea how a simple plugin will work:

	import os
	import sys
	from PyQt4 import QtCore, QtGui
	from PyQt4.QtCore import Qt, pyqtWrapperType, pyqtSlot, pyqtSignal
	from PyQt4.QtGui import QDialog, QHeaderView, QMessageBox, QColorDialog, QPalette, QTreeWidgetItem,\
	QComboBox, QPushButton, QDoubleSpinBox, QHBoxLayout, QWidget, QSlider, QSpinBox, QLineEdit
	pyqt5 = False

	if not "mobase" in sys.modules:
		import mock_mobase as mobase

	class YourHelloWorldPlugin(mobase.IPluginTool):
		def init(self, organizer):
			#self.__organizer = organizer
			self.__parentWidget = None
			return True

		def name(self):
			return "HelloWorld"

		def author(self):
			return "plugin creator"

		def description(self):
			return "Hello World-Plugin to show you how it's done."

		def version(self):
			#return mobase.VersionInfo(0, 0, 1, mobase.ReleaseType.prealpha)
			return True

		def isActive(self):
			return True

		def settings(self):
			return []
			
		def displayName(self):
			return "HelloWorld"

		def tooltip(self):
			return "Modify game Configuration"


	def createPlugin():
			return YourHelloWorldPlugin()

if you place a file with a similiar structure inside the /plugins/ dir, MO will automatically find it and add it to the tools list.