Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions ILS_Window_Plugin/ILS_Window_Plugin.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -115,14 +115,21 @@
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="IWCloseBtn.cpp" />
<ClCompile Include="IWMenuBtn.cpp" />
<ClCompile Include="IWResizeBtn.cpp" />
<ClCompile Include="IWCdeMenuBtn.cpp" />
<ClCompile Include="IWCdeWindow.cpp" />
<ClCompile Include="IWX11IconifyBtn.cpp" />
<ClCompile Include="IWCdeIconifyBtn.cpp" />
<ClCompile Include="IWX11MenuBtn.cpp" />
<ClCompile Include="IWX11ResizeBtn.cpp" />
<ClCompile Include="IWTitleBar.cpp" />
<ClCompile Include="IWTitleBarBtn.cpp" />
<ClCompile Include="IWPlugin.cpp" />
<ClCompile Include="IWPluginDLL.cpp" />
<ClCompile Include="IWWindow.cpp" />
<ClCompile Include="IWTitleBar.cpp" />
<ClCompile Include="IWCdeTitleBar.cpp" />
<ClCompile Include="IWVisualization.cpp" />
<ClCompile Include="IWX11TitleBar.cpp" />
<ClCompile Include="IWX11Window.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
Expand All @@ -136,16 +143,24 @@
<ClInclude Include="..\lib\EuroScopePlugIn.h" />
<ClInclude Include="..\lib\json.hpp" />
<ClInclude Include="framework.h" />
<ClInclude Include="IWCloseBtn.h" />
<ClInclude Include="IWMenuBtn.h" />
<ClInclude Include="IWResizeBtn.h" />
<ClInclude Include="IWCdeMenuBtn.h" />
<ClInclude Include="IWCdeWindow.h" />
<ClInclude Include="IWX11IconifyBtn.h" />
<ClInclude Include="IWCdeIconifyBtn.h" />
<ClInclude Include="IWX11MenuBtn.h" />
<ClInclude Include="IWX11ResizeBtn.h" />
<ClInclude Include="IWTitleBar.h" />
<ClInclude Include="IWTitleBarBtn.h" />
<ClInclude Include="IWPluginDLL.h" />
<ClInclude Include="IWDataTypes.h" />
<ClInclude Include="IWPlugin.h" />
<ClInclude Include="IWWindow.h" />
<ClInclude Include="IWTitleBar.h" />
<ClInclude Include="IWCdeTitleBar.h" />
<ClInclude Include="IWVisualization.h" />
<ClInclude Include="IWX11TitleBar.h" />
<ClInclude Include="IWX11Window.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="RenderUtils.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="targetver.h" />
<ClInclude Include="IWUtils.h" />
Expand Down
93 changes: 78 additions & 15 deletions ILS_Window_Plugin/ILS_Window_Plugin.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,24 @@
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Source Files\Theme">
<UniqueIdentifier>{06d11cba-76c2-4d9e-8107-6c5da2101bc1}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Theme\X11">
<UniqueIdentifier>{8a7ca98b-50af-466b-a2f2-04eb78eba59e}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Theme">
<UniqueIdentifier>{687be561-bac8-411d-8e4a-810fa08569b5}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Theme\X11">
<UniqueIdentifier>{c34849c8-8ad4-4f4f-acc9-2f8e9c582a1c}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Theme\SolarisCDE">
<UniqueIdentifier>{a1845d6f-0de7-4b25-9cd4-7b9629d2bf5e}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Theme\SolarisCDE">
<UniqueIdentifier>{f133707e-7c1a-4d8b-8a78-bdfd116acce5}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="IWPluginDLL.cpp">
Expand All @@ -21,9 +39,6 @@
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="IWTitleBar.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="IWPlugin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
Expand All @@ -33,14 +48,38 @@
<ClCompile Include="IWTitleBarBtn.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="IWCloseBtn.cpp">
<ClCompile Include="IWVisualization.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="IWMenuBtn.cpp">
<ClCompile Include="IWTitleBar.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="IWResizeBtn.cpp">
<Filter>Source Files</Filter>
<ClCompile Include="IWCdeIconifyBtn.cpp">
<Filter>Source Files\Theme\SolarisCDE</Filter>
</ClCompile>
<ClCompile Include="IWCdeMenuBtn.cpp">
<Filter>Source Files\Theme\SolarisCDE</Filter>
</ClCompile>
<ClCompile Include="IWCdeTitleBar.cpp">
<Filter>Source Files\Theme\SolarisCDE</Filter>
</ClCompile>
<ClCompile Include="IWX11ResizeBtn.cpp">
<Filter>Source Files\Theme\X11</Filter>
</ClCompile>
<ClCompile Include="IWX11IconifyBtn.cpp">
<Filter>Source Files\Theme\X11</Filter>
</ClCompile>
<ClCompile Include="IWX11MenuBtn.cpp">
<Filter>Source Files\Theme\X11</Filter>
</ClCompile>
<ClCompile Include="IWX11TitleBar.cpp">
<Filter>Source Files\Theme\X11</Filter>
</ClCompile>
<ClCompile Include="IWCdeWindow.cpp">
<Filter>Source Files\Theme\SolarisCDE</Filter>
</ClCompile>
<ClCompile Include="IWX11Window.cpp">
<Filter>Source Files\Theme\X11</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -70,9 +109,6 @@
<ClInclude Include="IWWindow.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IWTitleBar.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IWUtils.h">
<Filter>Header Files</Filter>
</ClInclude>
Expand All @@ -88,18 +124,45 @@
<ClInclude Include="..\lib\json.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IWTitleBarBtn.h">
<ClInclude Include="IWVisualization.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IWCloseBtn.h">
<Filter>Header Files</Filter>
<ClInclude Include="IWCdeMenuBtn.h">
<Filter>Header Files\Theme\SolarisCDE</Filter>
</ClInclude>
<ClInclude Include="IWCdeIconifyBtn.h">
<Filter>Header Files\Theme\SolarisCDE</Filter>
</ClInclude>
<ClInclude Include="IWMenuBtn.h">
<ClInclude Include="IWCdeTitleBar.h">
<Filter>Header Files\Theme\SolarisCDE</Filter>
</ClInclude>
<ClInclude Include="IWTitleBarBtn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IWResizeBtn.h">
<ClInclude Include="IWX11ResizeBtn.h">
<Filter>Header Files\Theme\X11</Filter>
</ClInclude>
<ClInclude Include="IWX11MenuBtn.h">
<Filter>Header Files\Theme\X11</Filter>
</ClInclude>
<ClInclude Include="IWX11IconifyBtn.h">
<Filter>Header Files\Theme\X11</Filter>
</ClInclude>
<ClInclude Include="IWTitleBar.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="RenderUtils.h">
<Filter>Header Files\Theme\SolarisCDE</Filter>
</ClInclude>
<ClInclude Include="IWX11TitleBar.h">
<Filter>Header Files\Theme\X11</Filter>
</ClInclude>
<ClInclude Include="IWCdeWindow.h">
<Filter>Header Files\Theme\SolarisCDE</Filter>
</ClInclude>
<ClInclude Include="IWX11Window.h">
<Filter>Header Files\Theme\X11</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ILS_Window_Plugin.rc">
Expand Down
24 changes: 24 additions & 0 deletions ILS_Window_Plugin/IWCdeIconifyBtn.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include "pch.h"
#include "IWCdeIconifyBtn.h"
#include "RenderUtils.h"

IWCdeIconifyBtn::IWCdeIconifyBtn(COLORREF backgroundColor, COLORREF lightColor, COLORREF darkColor) : IWTitleBarBtn(backgroundColor)
{
this->lightColor = lightColor;
this->darkColor = darkColor;
}

void IWCdeIconifyBtn::DrawSymbol(CDC* pdc, CRect rect)
{
CRect buttonFrame = rect;
buttonFrame.left = rect.right - rect.Height();

CRect icon = buttonFrame;
icon.left = buttonFrame.left + buttonFrame.Width() * 0.4;
icon.right = icon.right - buttonFrame.Width() * 0.4;
icon.top = buttonFrame.top + buttonFrame.Width() * 0.4;
icon.bottom = buttonFrame.bottom - buttonFrame.Width() * 0.4;

Draw3dRect(pdc, buttonFrame, 1, lightColor, darkColor);
Draw3dRect(pdc, icon, 1, lightColor, darkColor);
}
16 changes: 16 additions & 0 deletions ILS_Window_Plugin/IWCdeIconifyBtn.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#pragma once

#include "IWTitleBarBtn.h"

class IWCdeIconifyBtn : public IWTitleBarBtn
{
public:
IWCdeIconifyBtn(COLORREF backgroundColor, COLORREF lightColor, COLORREF darkColor);

private:
void DrawSymbol(CDC* pDC, CRect rect) override;

COLORREF lightColor;
COLORREF darkColor;
};

21 changes: 21 additions & 0 deletions ILS_Window_Plugin/IWCdeMenuBtn.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "pch.h"
#include "IWCdeMenuBtn.h"
#include "RenderUtils.h"

IWCdeMenuBtn::IWCdeMenuBtn(COLORREF backgroundColor, COLORREF lightColor, COLORREF darkColor) : IWTitleBarBtn(backgroundColor)
{
this->lightColor = lightColor;
this->darkColor = darkColor;
}

void IWCdeMenuBtn::DrawSymbol(CDC* pdc, CRect rect)
{
CRect barIcon = rect;
barIcon.left = rect.left + rect.Width() * 0.25;
barIcon.right = rect.right - rect.Width() * 0.25;
barIcon.top = rect.top + rect.Height() / 2 - 2;
barIcon.bottom = barIcon.top + 4;

Draw3dRect(pdc, rect, 1, lightColor, darkColor);
Draw3dRect(pdc, barIcon, 1, lightColor, darkColor);
}
16 changes: 16 additions & 0 deletions ILS_Window_Plugin/IWCdeMenuBtn.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#pragma once

#include "IWTitleBarBtn.h"

class IWCdeMenuBtn : public IWTitleBarBtn
{
public:
IWCdeMenuBtn(COLORREF backgroundColor, COLORREF lightColor, COLORREF darkColor);

private:
void DrawSymbol(CDC* pDC, CRect rect) override;

COLORREF lightColor;
COLORREF darkColor;
};

44 changes: 44 additions & 0 deletions ILS_Window_Plugin/IWCdeTitleBar.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#include "pch.h"
#include "IWCdeTitleBar.h"
#include "RenderUtils.h"
#include "IWCdeIconifyBtn.h"
#include "IWCdeMenuBtn.h"
#include "IWX11ResizeBtn.h"

IWCdeTitleBar::IWCdeTitleBar(COLORREF backgroundColor, COLORREF textColor, COLORREF lightColor, COLORREF darkcolor, IWTitleBarEventListener* listener) :
IWTitleBar(backgroundColor, 13, listener)
{
this->lightColor = lightColor;
this->darkColor = darkcolor;
this->textColor = textColor;

this->iconifyButton = new IWCdeIconifyBtn(backgroundColor, lightColor, darkColor);
this->menuButton = new IWCdeMenuBtn(backgroundColor, lightColor, darkColor);
this->resizeButton = new IWX11ResizeBtn(backgroundColor);
}

void IWCdeTitleBar::PositionButtons(const CRect& rect)
{
CRect menuButtonRect(rect.left, rect.top, rect.left + rect.Height(), rect.bottom);
if (menuButton->GetSafeHwnd())
menuButton->MoveWindow(menuButtonRect);

CRect iconifyButtonRect(rect.right - rect.Height(), rect.top, rect.right, rect.bottom);
if (iconifyButton->GetSafeHwnd())
iconifyButton->MoveWindow(iconifyButtonRect);

titleArea = rect;
titleArea.left = menuButtonRect.right;
titleArea.right = iconifyButtonRect.left;
}

void IWCdeTitleBar::DrawTitle(CDC* pdc, CRect rect, CString title)
{
Draw3dRect(pdc, titleArea, 1, lightColor, darkColor);

auto oldFont = pdc->SelectObject(this->font);
pdc->SetTextColor(this->textColor);
pdc->SetBkMode(TRANSPARENT);
pdc->DrawText(_T(title), -1, titleArea, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
pdc->SelectObject(oldFont);
}
23 changes: 23 additions & 0 deletions ILS_Window_Plugin/IWCdeTitleBar.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#pragma once
#include <afxwin.h>
#include <string>
#include "IWTitleBar.h"

class IWTitleBarEventListener;

class IWCdeTitleBar : public IWTitleBar {
public:
IWCdeTitleBar(COLORREF backgroundColor, COLORREF textColor, COLORREF lightColor, COLORREF darkcolor, IWTitleBarEventListener* listener);
virtual ~IWCdeTitleBar() {}

private:
void PositionButtons(const CRect& rect) override;
void DrawTitle(CDC* pdc, CRect rect, CString title) override;

COLORREF backgroundColor;
COLORREF textColor;
COLORREF lightColor;
COLORREF darkColor;

CRect titleArea;
};
Loading
Loading