ui for output rows on nodes
This commit is contained in:
+38
-29
@@ -115,41 +115,50 @@ EffectUI::EffectUI(Effect* e) :
|
||||
|
||||
labels_.append(row_label);
|
||||
|
||||
layout_->addWidget(row_label, i, 0);
|
||||
if (row->IsNodeOutput()) {
|
||||
|
||||
widgets_[i].resize(row->FieldCount());
|
||||
|
||||
QGridLayout* field_layout = new QGridLayout();
|
||||
for (int j=0;j<row->FieldCount();j++) {
|
||||
EffectField* field = row->Field(j);
|
||||
|
||||
QWidget* widget = field->CreateWidget();
|
||||
|
||||
widgets_[i][j] = widget;
|
||||
|
||||
field_layout->addWidget(widget, 0, j);
|
||||
}
|
||||
layout_->addLayout(field_layout, i, 1);
|
||||
|
||||
KeyframeNavigator* nav;
|
||||
|
||||
if (row->IsKeyframable()) {
|
||||
|
||||
nav = new KeyframeNavigator();
|
||||
|
||||
nav->enable_keyframes(row->IsKeyframing());
|
||||
|
||||
AttachKeyframeNavigationToRow(row, nav);
|
||||
|
||||
layout_->addWidget(nav, i, 2);
|
||||
row_label->setAlignment(Qt::AlignRight);
|
||||
layout_->addWidget(row_label, i, 2);
|
||||
|
||||
} else {
|
||||
|
||||
nav = nullptr;
|
||||
layout_->addWidget(row_label, i, 0);
|
||||
|
||||
widgets_[i].resize(row->FieldCount());
|
||||
|
||||
QGridLayout* field_layout = new QGridLayout();
|
||||
for (int j=0;j<row->FieldCount();j++) {
|
||||
EffectField* field = row->Field(j);
|
||||
|
||||
QWidget* widget = field->CreateWidget();
|
||||
|
||||
widgets_[i][j] = widget;
|
||||
|
||||
field_layout->addWidget(widget, 0, j);
|
||||
}
|
||||
layout_->addLayout(field_layout, i, 1);
|
||||
|
||||
KeyframeNavigator* nav;
|
||||
|
||||
if (row->IsKeyframable()) {
|
||||
|
||||
nav = new KeyframeNavigator();
|
||||
|
||||
nav->enable_keyframes(row->IsKeyframing());
|
||||
|
||||
AttachKeyframeNavigationToRow(row, nav);
|
||||
|
||||
layout_->addWidget(nav, i, 2);
|
||||
|
||||
} else {
|
||||
|
||||
nav = nullptr;
|
||||
|
||||
}
|
||||
|
||||
keyframe_navigators_[i] = nav;
|
||||
|
||||
}
|
||||
|
||||
keyframe_navigators_[i] = nav;
|
||||
}
|
||||
|
||||
enabled_check->setChecked(e->IsEnabled());
|
||||
|
||||
+7
-6
@@ -14,7 +14,7 @@
|
||||
#include "ui/effectui.h"
|
||||
|
||||
const int kRoundedRectRadius = 5;
|
||||
const int kNodePlugSize = 6;
|
||||
const int kNodePlugSize = 10;
|
||||
|
||||
NodeUI::NodeUI() :
|
||||
central_widget_(nullptr)
|
||||
@@ -117,15 +117,16 @@ QVector<QRectF> NodeUI::GetNodeSocketRects()
|
||||
Effect* e = central_widget_->GetEffect();
|
||||
|
||||
for (int i=0;i<e->row_count();i++) {
|
||||
if (e->row(i)->CanConnectNodes()) {
|
||||
int y = central_widget_->GetRowY(i);
|
||||
|
||||
rects.append(QRectF(rect().x(),
|
||||
EffectRow* row = e->row(i);
|
||||
qreal x = (row->IsNodeOutput()) ? rect().right() - kNodePlugSize : rect().x();
|
||||
int y = central_widget_->GetRowY(i);
|
||||
|
||||
if (row->IsNodeInput() || row->IsNodeOutput()) {
|
||||
rects.append(QRectF(x,
|
||||
proxy_->pos().y() + y - kNodePlugSize/2,
|
||||
kNodePlugSize,
|
||||
kNodePlugSize));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user