You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
						
							 | 
							- #pragma once
 - #include <app/common.hpp>
 - #include <widget/OpaqueWidget.hpp>
 - #include <ui/Menu.hpp>
 - #include <app/PortWidget.hpp>
 - #include <app/ParamWidget.hpp>
 - #include <plugin/Model.hpp>
 - #include <engine/Module.hpp>
 - 
 - 
 - namespace rack {
 - namespace app {
 - 
 - 
 - /** Manages an engine::Module in the rack. */
 - struct ModuleWidget : widget::OpaqueWidget {
 - 	plugin::Model* model = NULL;
 - 	/** Owned. */
 - 	engine::Module* module = NULL;
 - 
 - 	widget::Widget* panel = NULL;
 - 	/** Note that the indexes of these vectors do not necessarily correspond with the indexes of `Module::params` etc.
 - 	*/
 - 	std::vector<ParamWidget*> params;
 - 	std::vector<PortWidget*> inputs;
 - 	std::vector<PortWidget*> outputs;
 - 	/** For RackWidget dragging */
 - 	math::Vec dragPos;
 - 	math::Vec oldPos;
 - 
 - 	ModuleWidget();
 - 	DEPRECATED ModuleWidget(engine::Module* module) : ModuleWidget() {
 - 		setModule(module);
 - 	}
 - 	~ModuleWidget();
 - 
 - 	void draw(const DrawArgs& args) override;
 - 	void drawShadow(const DrawArgs& args);
 - 
 - 	void onButton(const event::Button& e) override;
 - 	void onHoverKey(const event::HoverKey& e) override;
 - 	void onDragStart(const event::DragStart& e) override;
 - 	void onDragEnd(const event::DragEnd& e) override;
 - 	void onDragMove(const event::DragMove& e) override;
 - 
 - 	/** Associates this ModuleWidget with the Module
 - 	Transfers ownership
 - 	*/
 - 	void setModule(engine::Module* module);
 - 	void setPanel(std::shared_ptr<Svg> svg);
 - 
 - 	/** Convenience functions for adding special widgets (calls addChild()) */
 - 	void addParam(ParamWidget* param);
 - 	void addInput(PortWidget* input);
 - 	void addOutput(PortWidget* output);
 - 	ParamWidget* getParam(int paramId);
 - 	PortWidget* getInput(int inputId);
 - 	PortWidget* getOutput(int outputId);
 - 
 - 	/** Serializes/unserializes the module state */
 - 	json_t* toJson();
 - 	void fromJson(json_t* rootJ);
 - 	void copyClipboard();
 - 	void pasteClipboardAction();
 - 	void loadAction(std::string filename);
 - 	void save(std::string filename);
 - 	void loadDialog();
 - 	void saveDialog();
 - 
 - 	/** Disconnects cables from all ports
 - 	Called when the user clicks Disconnect Cables in the context menu.
 - 	*/
 - 	void disconnect();
 - 
 - 	/** Resets the parameters of the module and calls the Module's randomize().
 - 	Called when the user clicks Initialize in the context menu.
 - 	*/
 - 	void resetAction();
 - 	/** Randomizes the parameters of the module and calls the Module's randomize().
 - 	Called when the user clicks Randomize in the context menu.
 - 	*/
 - 	void randomizeAction();
 - 	void disconnectAction();
 - 	void cloneAction();
 - 	void disableAction();
 - 	/** Deletes `this` */
 - 	void removeAction();
 - 	void createContextMenu();
 - 	/** Override to add context menu entries to your subclass.
 - 	It is recommended to add a blank ui::MenuEntry first for spacing.
 - 	*/
 - 	virtual void appendContextMenu(ui::Menu* menu) {}
 - };
 - 
 - 
 - } // namespace app
 - } // namespace rack
 
 
  |