From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/EqsGraphWnd.cpp | 42 +++++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/SourceCode/Bond/Servo/EqsGraphWnd.cpp b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
index fbdd34b..9e68a4c 100644
--- a/SourceCode/Bond/Servo/EqsGraphWnd.cpp
+++ b/SourceCode/Bond/Servo/EqsGraphWnd.cpp
@@ -64,6 +64,8 @@
m_nMagneticLinHoz = 0;
m_nMagneticLinVer = 0;
m_hFontTitle = nullptr;
+ m_nIndicatorSize = 10;
+ m_nIndicatorMargin = 3;
}
@@ -157,6 +159,20 @@
m_crItemIdText[0] = CColorTransfer::ApproximateColor(m_crItemNameText[0], -0.3f);
m_crItemIdText[1] = CColorTransfer::ApproximateColor(m_crItemNameText[1], -0.3f);
+}
+
+void CEqsGraphWnd::SetIndicatorSize(int nSize)
+{
+ if (nSize > 0) {
+ m_nIndicatorSize = nSize;
+ }
+}
+
+void CEqsGraphWnd::SetIndicatorMargin(int nMargin)
+{
+ if (nMargin >= 0) {
+ m_nIndicatorMargin = nMargin;
+ }
}
void CEqsGraphWnd::EnableScroll(BOOL bEnable)
@@ -479,14 +495,7 @@
void CEqsGraphWnd::SetOnListener(EqsGraphListener& listener)
{
- m_listener.onConnectPin = listener.onConnectPin;
- m_listener.onCheckConnectPin = listener.onCheckConnectPin;
- m_listener.onDisconnectPin = listener.onDisconnectPin;
- m_listener.onDeleteEqItem = listener.onDeleteEqItem;
- m_listener.onEqItemPosChanged = listener.onEqItemPosChanged;
- m_listener.onDblckEqItem = listener.onDblckEqItem;
- m_listener.onRclickEqItem = listener.onRclickEqItem;
- m_listener.onSelectEqItem = listener.onSelectEqItem;
+ m_listener = listener;
}
BOOL CEqsGraphWnd::SetCurSel(int nSel)
@@ -1964,10 +1973,10 @@
::DrawText(hMemDC, pItem->text, (int)strlen(pItem->text), &rcItem,
DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
- // 澶氫釜鎸囩ず鐏細宸︿笂瑙掞紝鎸� 4 鍒� 脳 2 琛屾帓鍒�
- const int indicatorSize = 10;
- const int indicatorMargin = 3;
- const int indicatorsPerRow = 4;
+ // indicators vertical column layout
+ const int indicatorSize = m_nIndicatorSize;
+ const int indicatorMargin = m_nIndicatorMargin;
+ const int indicatorX = rcItem.left + 5;
for (int k = 0; k < EQITEM_INDICATOR_COUNT; ++k) {
BYTE indicatorState = pItem->nIndicatorState[k];
@@ -1975,17 +1984,12 @@
continue;
}
- int row = k / indicatorsPerRow;
- int col = k % indicatorsPerRow;
-
RECT rcIndicator;
- rcIndicator.left = rcItem.left + 5 + col * (indicatorSize + indicatorMargin);
- rcIndicator.top = rcItem.top + 5 + row * (indicatorSize + indicatorMargin);
+ rcIndicator.left = indicatorX;
+ rcIndicator.top = rcItem.top + 5 + k * (indicatorSize + indicatorMargin);
rcIndicator.right = rcIndicator.left + indicatorSize;
rcIndicator.bottom = rcIndicator.top + indicatorSize;
-
- // 鐢婚珮浜�/鐏拌壊鏂瑰潡
RECT rcInner = rcIndicator;
::InflateRect(&rcInner, -1, -1);
::FillRect(hMemDC, &rcInner, indicatorState == INDICATOR_STATE_HIGHLIGHT
--
Gitblit v1.9.3