NDEVR
API Documentation
BuildActionWidget.h
1#pragma once
2#include "BuildActions.h"
3#include "BuildActionDefinition.h"
4#include <NDEVR/Editor.h>
5#include <NDEVR/GenericOptionsGroup.h>
6namespace NDEVR
7{
8 class QCustomComboBox;
10 class TerminalDialog;
13 class QCustomTextEdit;
14 class DevActionTree;
18 {
19 public:
22 BuildActionWidget(QWidget* parent = nullptr);
26 BuildActionWidget(const DynamicPointer<QTDesignObject>& object, QWidget* parent = nullptr);
29 void setTarget(const DynamicPointer<QTDesignObject>& object) override;
34 virtual void updateValues() override;
38 virtual void setLog(LogPtr log, bool is_temp = false);
41 void setBuildAction(const BuildAction& action);
44 QSize sizeHint() const override;
49 protected:
51 void init();
52 protected:
53 QWidget* m_workflow_widget = nullptr;
64 LogPtr m_log = nullptr;
66 Button* m_next_button = nullptr;
68 bool m_is_temp_log = true;
69 };
70}
A Model subclass that defines a single build action or workflow step, holding its action type,...
QCustomStackedWidget * m_stacked_widget
Stacked widget switching between action views.
BuildActionWidget(QWidget *parent=nullptr)
Constructs the widget with no initial target.
QCustomComboBox * m_action_type_combobox
Combo box for selecting the action type.
QSize sizeHint() const override
Returns the preferred size for this widget.
bool m_is_temp_log
Whether the current log is temporary.
LogPtr defaultLog(const BuildActionDefinition &def)
Returns or creates the default log for the given definition.
DevActionTree * m_dev_tree
Tree widget for action type selection.
BuildActionWidget(const DynamicPointer< QTDesignObject > &object, QWidget *parent=nullptr)
Constructs the widget and sets the given design object as the target.
Button * m_previous_button
Button to navigate to the previous action.
QCustomTextEdit * m_command_line
Text editor for command-line preview.
Button * m_about_button
Button showing action description.
GenericOptionsGroup * m_generic_options
Widget for action-specific generic options.
virtual void updateValues() override
Refreshes all UI fields from the current target data.
Button * m_run_cancel_button
Button to run or cancel the action.
void setTarget(const DynamicPointer< QTDesignObject > &object) override
Sets the target design object for this editor.
void init()
Initializes UI elements and signal connections.
Button * m_variables_button
Button showing available variables.
LogPtr m_log
The active log.
BuildActionDefinition definition() const
Returns the BuildActionDefinition derived from the current target.
TerminalDialog * m_log_view
Terminal dialog for build output.
BuildWorkflowTable * m_workflow_table
Table for managing workflow child actions.
QWidget * m_workflow_widget
Container widget for workflow child actions.
void setBuildAction(const BuildAction &action)
Programmatically sets the build action type.
virtual void setLog(LogPtr log, bool is_temp=false)
Sets the log target for build action output.
DesignObjectStringWidget * m_name_widget
Widget for editing the action name.
Button * m_next_button
Button to navigate to the next action.
A table widget that displays and manages child build actions within a workflow, allowing creation and...
A core widget that allows the user to click one of many button types.
Definition Button.h:68
A widget allowing easy access to change the properties of a designObject by taking user string input.
A tree widget that displays all supported build actions organized by category, allowing the user to s...
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:356
Editor(QWidget *parent=nullptr)
Constructs an Editor with no design object target.
Creates a clean formatted dialog for any number of GenericOptions within a GenericOptionGroup Each op...
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
A compact way to present a list of options to the user.
The main class for a layout where all widgets occupy the same same and only one widget is shown at a ...
A widget that is used to edit and display both plain and rich text in a multi-lined format.
Provides the user access to sending or receiving data to a specified connection over a terminal inter...
The primary namespace for the NDEVR SDK.
BuildAction
Enumerates all supported build action types available in the Developer module build workflow system.