diff --git a/src/PowerEditor/src/ScintillaComponent/DocTabView.cpp b/src/PowerEditor/src/ScintillaComponent/DocTabView.cpp index 5fbc09e..371460e 100644 --- a/src/PowerEditor/src/ScintillaComponent/DocTabView.cpp +++ b/src/PowerEditor/src/ScintillaComponent/DocTabView.cpp @@ -25,7 +25,7 @@ bool DocTabView::_hideTabBarStatus = false; - +//���ǩ��ͼ�����µĻ����������ȼ�黺�����Ƿ���Ч��������Ч�Ļ���������Ȼ�����Ƿ��Ѿ�������ͬ�Ļ������������������Ч����δ���ڣ��������ӵ���ǩҳ��ͼ�У������¸����ڵĴ�С�� void DocTabView::addBuffer(BufferID buffer) { if (buffer == BUFFER_INVALID) //valid only @@ -48,25 +48,25 @@ void DocTabView::addBuffer(BufferID buffer) ::SendMessage(_hParent, WM_SIZE, 0, 0); } - +//�ر�ָ���Ļ���������Ҫ�رյĻ�������������Ȼ��ӱ�ǩҳ��ͼ��ɾ��������֪ͨ�����ڽ��е����� void DocTabView::closeBuffer(BufferID buffer) { int indexToClose = getIndexByBuffer(buffer); deletItemAt((size_t)indexToClose); ::SendMessage(_hParent, WM_SIZE, 0, 0); } - +//Ϊ�ض��ı�ǩ������ɫ�������ṩ�Ļ�����ID�����øû������ڱ�ǩҳ�е���ɫ�� void DocTabView::setIndividualTabColour(BufferID bufferId, int colorId) { bufferId->setDocColorId(colorId); } - +//��ȡ�ض���ǩ����ɫ�������ṩ�ı�ǩ���������ظñ�ǩ����ɫ�� int DocTabView::getIndividualTabColour(int tabIndex) { BufferID bufferId = getBufferByIndex(tabIndex); return bufferId->getDocColorId(); } - +//�����ض��Ļ�������ͨ����������ID�ҵ�������λ�ò����Լ���û�����������ɹ���true������false�� bool DocTabView::activateBuffer(BufferID buffer) { int indexToActivate = getIndexByBuffer(buffer); @@ -77,14 +77,14 @@ bool DocTabView::activateBuffer(BufferID buffer) return true; } - +//��ȡ��ǰ����Ļ������� BufferID DocTabView::activeBuffer() { int index = getCurrentTabIndex(); return getBufferByIndex(index); } - +//�������б�ǩҳ�������ļ�������ƥ��Ļ��������ҵ�����ID������BUFFER_INVALID�� BufferID DocTabView::findBufferByName(const TCHAR * fullfilename) //-1 if not found, something else otherwise { TCITEM tie{}; @@ -103,7 +103,7 @@ BufferID DocTabView::findBufferByName(const TCHAR * fullfilename) //-1 if not fo return BUFFER_INVALID; } - +//ͨ��������ID�ҵ����ڱ�ǩ�е�����λ�ã������������ - 1�� int DocTabView::getIndexByBuffer(BufferID id) { TCITEM tie{}; @@ -118,7 +118,7 @@ int DocTabView::getIndexByBuffer(BufferID id) return -1; } - +//ͨ��������ID�ҵ����ڱ�ǩ�е�����λ�ã������������-1�� BufferID DocTabView::getBufferByIndex(size_t index) { TCITEM tie{}; @@ -129,7 +129,7 @@ BufferID DocTabView::getBufferByIndex(size_t index) return reinterpret_cast<BufferID>(tie.lParam); } - +//����mask�еı�־λ�������뻺������ص���Ϣ�������ļ����仯��ֻ��״̬�仯�ȡ� void DocTabView::bufferUpdated(Buffer * buffer, int mask) { int index = getIndexByBuffer(buffer->getID()); @@ -183,7 +183,7 @@ void DocTabView::bufferUpdated(Buffer * buffer, int mask) *out = '\0'; } } - + ::SendMessage(_hSelf, TCM_SETITEM, index, reinterpret_cast<LPARAM>(&tie)); // send WM_SIZE only when change tab @@ -192,7 +192,7 @@ void DocTabView::bufferUpdated(Buffer * buffer, int mask) ::SendMessage(_hParent, WM_SIZE, 0, 0); } - +//���ݸ���������������Ӧ�Ļ�����ID�������±�ǩ��ʾ�������Ϣ�� void DocTabView::setBuffer(size_t index, BufferID id) { if (index >= _nbItem) @@ -208,7 +208,7 @@ void DocTabView::setBuffer(size_t index, BufferID id) ::SendMessage(_hParent, WM_SIZE, 0, 0); } - +//��������/��ʾ��ǩ��״̬��������ǩҳ��ͼ���ı��༭����ͼ�Ĵ�С����������Ҫ������Ϣ�Ը��¿ɵ�����ӡ� void DocTabView::reSizeTo(RECT & rc) { int borderWidth = ((NppParameters::getInstance()).getSVP())._borderWidth; diff --git a/src/PowerEditor/src/ScintillaComponent/DocTabView.h b/src/PowerEditor/src/ScintillaComponent/DocTabView.h index 2f8f78c..a0b9894 100644 --- a/src/PowerEditor/src/ScintillaComponent/DocTabView.h +++ b/src/PowerEditor/src/ScintillaComponent/DocTabView.h @@ -14,11 +14,15 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. + + + +//����̳���TabBarPlus�ࡣ���ฺ������ĵ�ѡ���ͼ�����ṩһϵ�з����������ӡ��رա���������Լ�����ѡ��ĸ��Ի�ѡ��ȹ��ܡ� #pragma once #include "TabBar.h" #include "Buffer.h" - +// ����һЩ��������ͼƬ���� const int SAVED_IMG_INDEX = 0; const int UNSAVED_IMG_INDEX = 1; const int REDONLY_IMG_INDEX = 2; @@ -33,7 +37,7 @@ public : void destroy() override { TabBarPlus::destroy(); }; - + //��ʼ������������ʵ������������ھ����ScintillaEditViewָ�롢�Լ�ͼƬ�б���ѡ���ͼƬ���� void init(HINSTANCE hInst, HWND parent, ScintillaEditView * pView, std::vector<IconList *> pIconListVector, unsigned char indexChoice) { TabBarPlus::init(hInst, parent); _pView = pView; @@ -52,45 +56,50 @@ public : TabBar::setImageList(_pIconListVector[_iconListIndexChoice]->getHandle()); return; }; - + // �ı�ѡ�е�ͼƬ�б� void changeIcons(unsigned char choice) { if (choice >= _pIconListVector.size()) return; _iconListIndexChoice = choice; TabBar::setImageList(_pIconListVector[_iconListIndexChoice]->getHandle()); }; - + // ���ӻ����� void addBuffer(BufferID buffer); + // �رջ����� void closeBuffer(BufferID buffer); + // ���������� void bufferUpdated(Buffer * buffer, int mask); - + // ������� bool activateBuffer(BufferID buffer); - + // ��ȡ��ǰ����Ļ����� BufferID activeBuffer(); + // �����ļ������һ���������������ֵ�����δ�ҵ���-1 BufferID findBufferByName(const TCHAR * fullfilename); //-1 if not found, something else otherwise - + // ���ݻ�������ȡ����ֵ int getIndexByBuffer(BufferID id); + // ��������ֵ��ȡ������ BufferID getBufferByIndex(size_t index); - + // ����ָ������λ�õĻ����� void setBuffer(size_t index, BufferID id); - + // ��̬�����������������ػ���ʾѡ�����״̬ static bool setHideTabBarStatus(bool hideOrNot) { bool temp = _hideTabBarStatus; _hideTabBarStatus = hideOrNot; return temp; }; - + // ��̬��������ȡ���ػ���ʾѡ�����״̬ static bool getHideTabBarStatus() { return _hideTabBarStatus; }; - + // ��д�����reSizeTo���� void reSizeTo(RECT & rc) override; - + // ��ȡScintillaEditViewָ�� const ScintillaEditView* getScintillaEditView() const { return _pView; }; - + // ����ָ���������ĸ��Ի�ѡ���ɫ void setIndividualTabColour(BufferID bufferId, int colorId); + // ��ȡָ������λ�õĸ��Ի�ѡ���ɫ int getIndividualTabColour(int tabIndex) override; private :