A bit more placeholder UI around the texture display rect

This commit is contained in:
baldurk
2015-07-10 17:13:05 +02:00
parent 048e3ddb6e
commit 87f085d588
3 changed files with 179 additions and 34 deletions
+10 -1
View File
@@ -16,6 +16,15 @@ CustomPaintWidget::~CustomPaintWidget()
void CustomPaintWidget::paintEvent(QPaintEvent *e)
{
if(m_Output) m_Output->Display();
if(m_Output)
{
m_Output->Display();
}
else
{
QPainter p(this);
p.setBrush(QBrush(Qt::black));
p.drawRect(rect());
}
}
+20 -16
View File
@@ -20,42 +20,46 @@ m_Core(core)
m_Core->AddLogViewer(this);
ui->framerender->SetOutput(NULL);
ui->render->SetOutput(NULL);
m_Output = NULL;
ui->dockarea->addToolWindow(ui->framerender, ToolWindowManager::EmptySpace);
ui->dockarea->setToolWindowProperties(ui->framerender, ToolWindowManager::DisallowUserDocking |
QWidget *renderContainer = ui->renderContainer;
ui->dockarea->addToolWindow(ui->renderContainer, ToolWindowManager::EmptySpace);
ui->dockarea->setToolWindowProperties(renderContainer, ToolWindowManager::DisallowUserDocking |
ToolWindowManager::HideCloseButton |
ToolWindowManager::DisableDraggableTab);
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, ui->dockarea->areaOf(renderContainer));
QWidget *lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #1"));
ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #2"));
ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #3"));
ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
lockedTabTest = new QWidget(this);
lockedTabTest->setWindowTitle(tr("Locked Tab #4"));
ui->dockarea->addToolWindow(lockedTabTest, ToolWindowManager::AreaReference(ToolWindowManager::AddTo, ui->dockarea->areaOf(ui->framerender)));
ui->dockarea->addToolWindow(lockedTabTest, ref);
ui->dockarea->setToolWindowProperties(lockedTabTest, ToolWindowManager::DisallowUserDocking | ToolWindowManager::HideCloseButton);
ui->dockarea->setAllowFloatingWindow(false);
ui->dockarea->setRubberBandLineWidth(50);
ui->framerender->setWindowTitle(tr("OM RenderTarget 0 - GBuffer Colour"));
renderContainer->setWindowTitle(tr("OM RenderTarget 0 - GBuffer Colour"));
QVBoxLayout *vertical = new QVBoxLayout(this);
@@ -87,10 +91,10 @@ TextureViewer::~TextureViewer()
void TextureViewer::OnLogfileLoaded()
{
#if defined(WIN32)
HWND wnd = (HWND)ui->framerender->winId();
HWND wnd = (HWND)ui->render->winId();
#elif defined(__linux__)
Display *display = QX11Info::display();
GLXDrawable drawable = (GLXDrawable)ui->framerender->winId();
GLXDrawable drawable = (GLXDrawable)ui->render->winId();
void *displayAndDrawable[2] = { (void *)display, (void *)drawable };
void *wnd = displayAndDrawable;
@@ -100,7 +104,7 @@ void TextureViewer::OnLogfileLoaded()
m_Core->Renderer()->BlockInvoke([wnd, this](IReplayRenderer *r) {
m_Output = r->CreateOutput(wnd);
ui->framerender->SetOutput(m_Output);
ui->render->SetOutput(m_Output);
OutputConfig c = { eOutputType_TexDisplay };
m_Output->SetOutputConfig(c);
@@ -110,7 +114,7 @@ void TextureViewer::OnLogfileLoaded()
void TextureViewer::OnLogfileClosed()
{
m_Output = NULL;
ui->framerender->SetOutput(NULL);
ui->render->SetOutput(NULL);
}
void TextureViewer::OnEventSelected(uint32_t frameID, uint32_t eventID)
@@ -141,6 +145,6 @@ void TextureViewer::OnEventSelected(uint32_t frameID, uint32_t eventID)
d.Alpha = false;
m_Output->SetTextureDisplay(d);
GUIInvoke::call([this]() { ui->framerender->update(); });
GUIInvoke::call([this]() { ui->render->update(); });
});
}
+149 -17
View File
@@ -22,8 +22,8 @@
<widget class="ToolWindowManager" name="dockarea" native="true">
<property name="geometry">
<rect>
<x>70</x>
<y>420</y>
<x>30</x>
<y>430</y>
<width>119</width>
<height>100</height>
</rect>
@@ -34,21 +34,8 @@
<height>100</height>
</size>
</property>
</widget>
<widget class="CustomPaintWidget" name="framerender" native="true">
<property name="geometry">
<rect>
<x>310</x>
<y>400</y>
<width>129</width>
<height>99</height>
</rect>
</property>
<property name="cursor">
<cursorShape>CrossCursor</cursorShape>
</property>
<property name="styleSheet">
<string notr="true"/>
<property name="autoFillBackground">
<bool>false</bool>
</property>
</widget>
<widget class="QFrame" name="rangeToolbar">
@@ -109,6 +96,9 @@
<height>16777215</height>
</size>
</property>
<property name="text">
<string>0.0</string>
</property>
</widget>
</item>
<item>
@@ -125,6 +115,9 @@
<height>16777215</height>
</size>
</property>
<property name="text">
<string>1.0</string>
</property>
</widget>
</item>
<item>
@@ -760,6 +753,145 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="renderContainer" native="true">
<property name="geometry">
<rect>
<x>240</x>
<y>280</y>
<width>291</width>
<height>241</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout">
<property name="spacing">
<number>0</number>
</property>
<item row="1" column="0">
<widget class="CustomPaintWidget" name="render" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="cursor">
<cursorShape>CrossCursor</cursorShape>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QScrollBar" name="verticalScrollBar">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QScrollBar" name="horizontalScrollBar">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="statusbar">
<item>
<widget class="QLabel" name="texStatusDim">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Consolas</family>
</font>
</property>
<property name="text">
<string>texStatusDim</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>14</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>32</width>
<height>14</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="s">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Consolas</family>
</font>
</property>
<property name="text">
<string>Status Text</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<customwidgets>
<customwidget>