mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 03:24:04 +01:00 
			
		
		
		
	[NEW_FEATURE] Add Character Insertion Panel.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@745 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
		
							parent
							
								
									b00ed6ec61
								
							
						
					
					
						commit
						28fa54583e
					
				| @ -40,6 +40,7 @@ const bool dirDown = false; | ||||
| 	#define generic_strtok wcstok | ||||
| 	#define generic_strftime wcsftime | ||||
| 	#define generic_fprintf fwprintf | ||||
| 	#define generic_sprintf swprintf | ||||
| 	#define generic_sscanf swscanf | ||||
| 	#define generic_fopen _wfopen | ||||
| 	#define generic_fgets fgetws | ||||
| @ -61,6 +62,7 @@ const bool dirDown = false; | ||||
| 	#define generic_strtok strtok | ||||
| 	#define generic_strftime strftime | ||||
| 	#define generic_fprintf fprintf | ||||
| 	#define generic_sprintf sprintf | ||||
| 	#define generic_sscanf sscanf | ||||
| 	#define generic_fopen fopen | ||||
| 	#define generic_fgets fgets | ||||
|  | ||||
| @ -105,7 +105,7 @@ Notepad_plus::Notepad_plus(): _mainWindowStatus(0), _pDocTab(NULL), _pEditView(N | ||||
|     _recordingMacro(false), _pTrayIco(NULL), _isUDDocked(false), | ||||
| 	_linkTriggered(true), _isDocModifing(false), _isHotspotDblClicked(false), _sysMenuEntering(false), | ||||
| 	_autoCompleteMain(&_mainEditView), _autoCompleteSub(&_subEditView), _smartHighlighter(&_findReplaceDlg), | ||||
| 	_isFileOpening(false), _rememberThisSession(true) | ||||
| 	_isFileOpening(false), _rememberThisSession(true), _pAnsiCharPanel(NULL) | ||||
| { | ||||
| 	ZeroMemory(&_prevSelectedRange, sizeof(_prevSelectedRange)); | ||||
| 	 | ||||
| @ -142,6 +142,9 @@ Notepad_plus::~Notepad_plus() | ||||
| 	(WcharMbcsConvertor::getInstance())->destroyInstance(); | ||||
| 	if (_pTrayIco) | ||||
| 		delete _pTrayIco; | ||||
| 
 | ||||
| 	if (_pAnsiCharPanel) | ||||
| 		delete _pAnsiCharPanel; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -4556,3 +4559,33 @@ bool Notepad_plus::reloadLang() | ||||
| 	_lastRecentFileList.setLangEncoding(_nativeLangSpeaker.getLangEncoding()); | ||||
| 	return true; | ||||
| } | ||||
| 
 | ||||
| void Notepad_plus::launchAnsiCharPanel() | ||||
| { | ||||
| 	if (!_pAnsiCharPanel) | ||||
| 	{ | ||||
| 		_pAnsiCharPanel = new AnsiCharPanel(); | ||||
| 	 | ||||
| 		_pAnsiCharPanel->init(_pPublicInterface->getHinst(), _pPublicInterface->getHSelf(), &_pEditView); | ||||
| 		 | ||||
| 		tTbData	data = {0}; | ||||
| 		_pAnsiCharPanel->create(&data); | ||||
| 
 | ||||
| 		::SendMessage(_pPublicInterface->getHSelf(), NPPM_MODELESSDIALOG, MODELESSDIALOGREMOVE, (WPARAM)_pAnsiCharPanel->getHSelf()); | ||||
| 		// define the default docking behaviour
 | ||||
| 		data.uMask = DWS_DF_CONT_BOTTOM | DWS_ICONTAB | DWS_ADDINFO; | ||||
| 		data.hIconTab = (HICON)::LoadImage(_pPublicInterface->getHinst(), MAKEINTRESOURCE(IDI_FIND_RESULT_ICON), IMAGE_ICON, 0, 0, LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT); | ||||
| 		//data.pszAddInfo = _findAllResultStr;
 | ||||
| 
 | ||||
| 		data.pszModuleName = TEXT("dummy"); | ||||
| 
 | ||||
| 		// the dlgDlg should be the index of funcItem where the current function pointer is
 | ||||
| 		// in this case is DOCKABLE_DEMO_INDEX
 | ||||
| 		data.dlgID = 0; | ||||
| 		::SendMessage(_pPublicInterface->getHSelf(), NPPM_DMMREGASDCKDLG, 0, (LPARAM)&data); | ||||
| 	} | ||||
| 	//::SendMessage(_pAnsiCharPanel->getHSelf(), WM_SIZE, 0, 0);
 | ||||
| 	 | ||||
| 	_pAnsiCharPanel->display(); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -111,6 +111,7 @@ | ||||
| #endif //SIZE_DLG_H
 | ||||
| 
 | ||||
| #include "localization.h" | ||||
| #include "ansiCharPanel.h" | ||||
| 
 | ||||
| #define MENU 0x01 | ||||
| #define TOOLBAR 0x02 | ||||
| @ -165,7 +166,7 @@ struct VisibleGUIConf { | ||||
| 
 | ||||
| class FileDialog; | ||||
| class Notepad_plus_Window; | ||||
| 
 | ||||
| class AnsiCharPanel; | ||||
| 	 | ||||
| class Notepad_plus { | ||||
| 
 | ||||
| @ -387,6 +388,7 @@ private: | ||||
|     bool _rememberThisSession; // always true. except -nosession is indicated on the launch time
 | ||||
| 
 | ||||
| 
 | ||||
| 	AnsiCharPanel *_pAnsiCharPanel; | ||||
| 
 | ||||
| 	BOOL notify(SCNotification *notification); | ||||
| 	void specialCmd(int id); | ||||
| @ -570,6 +572,7 @@ private: | ||||
| 	 | ||||
| 	void wsTabConvert(bool whichWay); | ||||
| 	void doTrim(trimOp whichPart); | ||||
| 	void launchAnsiCharPanel(); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -275,6 +275,7 @@ BEGIN | ||||
|         MENUITEM SEPARATOR | ||||
|         MENUITEM "Column Mode...",        IDM_EDIT_COLUMNMODETIP | ||||
| 		MENUITEM "Column Editor...",        IDM_EDIT_COLUMNMODE | ||||
| 		MENUITEM "Character Panel",        IDM_EDIT_CHAR_PANEL | ||||
|         MENUITEM SEPARATOR | ||||
|         MENUITEM "Set Read-Only",           IDM_EDIT_SETREADONLY | ||||
|         MENUITEM "Clear Read-Only Flag",    IDM_EDIT_CLEARREADONLY | ||||
|  | ||||
| @ -281,6 +281,12 @@ void Notepad_plus::command(int id) | ||||
| 		} | ||||
| 		break; | ||||
| 
 | ||||
| 		case IDM_EDIT_CHAR_PANEL: | ||||
| 		{ | ||||
| 			launchAnsiCharPanel(); | ||||
| 		} | ||||
| 		break; | ||||
| 
 | ||||
| 		case IDM_EDIT_DELETE: | ||||
| 			_pEditView->execute(WM_CLEAR); | ||||
| 			break; | ||||
|  | ||||
| @ -47,7 +47,7 @@ BOOL CALLBACK AboutDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) | ||||
| 
 | ||||
|             _emailLink.init(_hInst, _hSelf); | ||||
| 			//_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("mailto:don.h@free.fr"));
 | ||||
| 			_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("http://notepad-plus-plus.org/members")); | ||||
| 			_emailLink.create(::GetDlgItem(_hSelf, IDC_AUTHOR_NAME), TEXT("http://notepad-plus-plus.org/contributors")); | ||||
| 
 | ||||
|             _pageLink.init(_hInst, _hSelf); | ||||
|             _pageLink.create(::GetDlgItem(_hSelf, IDC_HOME_ADDR), TEXT("http://notepad-plus-plus.org/")); | ||||
|  | ||||
							
								
								
									
										118
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ListView.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ListView.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| //this file is part of notepad++
 | ||||
| //Copyright (C)2003 Don HO ( donho@altern.org )
 | ||||
| //
 | ||||
| //This program is free software; you can redistribute it and/or
 | ||||
| //modify it under the terms of the GNU General Public License
 | ||||
| //as published by the Free Software Foundation; either
 | ||||
| //version 2 of the License, or (at your option) any later version.
 | ||||
| //
 | ||||
| //This program is distributed in the hope that it will be useful,
 | ||||
| //but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| //GNU General Public License for more details.
 | ||||
| //
 | ||||
| //You should have received a copy of the GNU General Public License
 | ||||
| //along with this program; if not, write to the Free Software
 | ||||
| //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 | ||||
| 
 | ||||
| #include "precompiledHeaders.h" | ||||
| #include "ListView.h" | ||||
| 
 | ||||
| 
 | ||||
| void ListView::init(HINSTANCE hInst, HWND parent) | ||||
| { | ||||
| 	Window::init(hInst, parent); | ||||
|     INITCOMMONCONTROLSEX icex; | ||||
|      | ||||
|     // Ensure that the common control DLL is loaded. 
 | ||||
|     icex.dwSize = sizeof(INITCOMMONCONTROLSEX); | ||||
|     icex.dwICC  = ICC_LISTVIEW_CLASSES; | ||||
|     InitCommonControlsEx(&icex); | ||||
|      | ||||
|     // Create the list-view window in report view with label editing enabled.
 | ||||
| 	int listViewStyles = LVS_REPORT | LVS_NOSORTHEADER\ | ||||
| 						| LVS_SINGLESEL | LVS_AUTOARRANGE\ | ||||
| 						| LVS_SHAREIMAGELISTS; | ||||
| 
 | ||||
| 	_hSelf = ::CreateWindow(WC_LISTVIEW,  | ||||
|                                 TEXT(""),  | ||||
|                                 WS_CHILD | listViewStyles, | ||||
|                                 0, | ||||
|                                 0,  | ||||
|                                 0, | ||||
|                                 0, | ||||
|                                 _hParent,  | ||||
|                                 (HMENU) NULL,  | ||||
|                                 hInst, | ||||
|                                 NULL); | ||||
| 	if (!_hSelf) | ||||
| 	{ | ||||
| 		throw std::runtime_error("ListView::init : CreateWindowEx() function return null"); | ||||
| 	} | ||||
| 
 | ||||
| 	::SetWindowLongPtr(_hSelf, GWLP_USERDATA, (LONG_PTR)this); | ||||
| 	_defaultProc = reinterpret_cast<WNDPROC>(::SetWindowLongPtr(_hSelf, GWLP_WNDPROC, (LONG_PTR)staticProc)); | ||||
| 
 | ||||
| 	DWORD exStyle = ListView_GetExtendedListViewStyle(_hSelf); | ||||
| 	exStyle |= LVS_EX_FULLROWSELECT | LVS_EX_BORDERSELECT ; | ||||
| 	ListView_SetExtendedListViewStyle(_hSelf, exStyle); | ||||
| 
 | ||||
| 	LVCOLUMN lvColumn; | ||||
| 	lvColumn.mask = LVCF_TEXT|LVCF_WIDTH; | ||||
| 	lvColumn.cx = 45; | ||||
| 
 | ||||
| 	lvColumn.pszText = TEXT("Value"); | ||||
| 	ListView_InsertColumn(_hSelf, 0, &lvColumn); | ||||
| 
 | ||||
| 	lvColumn.pszText = TEXT("Char"); | ||||
| 	ListView_InsertColumn(_hSelf, 1, &lvColumn); | ||||
| 
 | ||||
| 	lvColumn.pszText = TEXT("Ctrl char"); | ||||
| 	lvColumn.cx = 90; | ||||
| 	ListView_InsertColumn(_hSelf, 2, &lvColumn); | ||||
| 	 | ||||
| 	//ListView_SetImageList(_hSelf, hImaLst, LVSIL_SMALL);
 | ||||
| 
 | ||||
| 	//ListView_SetItemState(_hSelf, _currentIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
 | ||||
| 	//ListView_SetBkColor(_hSelf, lightYellow);
 | ||||
| } | ||||
| 
 | ||||
| void ListView::resetValues(int codepage) | ||||
| { | ||||
| 	ListView_DeleteAllItems(_hSelf); | ||||
| 	for (int i = 0 ; i < 256 ; i++) | ||||
| 	{ | ||||
| 		LVITEM item; | ||||
| 		item.mask = LVIF_TEXT; | ||||
| 		TCHAR num[8]; | ||||
| 		generic_sprintf(num, TEXT("%d"), i);  | ||||
| 		item.pszText = num; | ||||
| 		item.iItem = i; | ||||
| 		item.iSubItem = 0; | ||||
| 		ListView_InsertItem(_hSelf, &item); | ||||
| 
 | ||||
| 		char ascii[8]; | ||||
| 		ascii[0] = (unsigned char)i; | ||||
| 		ascii[1] = '\0'; | ||||
| #ifdef UNICODE | ||||
|         wchar_t wCharStr[10]; | ||||
|         MultiByteToWideChar(codepage, 0, ascii, -1, wCharStr, sizeof(wCharStr)); | ||||
| 		ListView_SetItemText(_hSelf, i, 1, wCharStr); | ||||
| #else | ||||
| 		codepage = 0; // make it compile in ANSI Release mode
 | ||||
| 		ListView_SetItemText(_hSelf, i, 1, ascii); | ||||
| #endif | ||||
| 	} | ||||
| } | ||||
| void ListView::destroy() | ||||
| { | ||||
| 	::DestroyWindow(_hSelf); | ||||
| 	_hSelf = NULL; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| LRESULT ListView::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) | ||||
| { | ||||
| 	return ::CallWindowProc(_defaultProc, hwnd, Message, wParam, lParam); | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										44
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ListView.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ListView.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| //this file is part of notepad++
 | ||||
| //Copyright (C)2003 Don HO ( donho@altern.org )
 | ||||
| //
 | ||||
| //This program is free software; you can redistribute it and/or
 | ||||
| //modify it under the terms of the GNU General Public License
 | ||||
| //as published by the Free Software Foundation; either
 | ||||
| //version 2 of the License, or (at your option) any later version.
 | ||||
| //
 | ||||
| //This program is distributed in the hope that it will be useful,
 | ||||
| //but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| //GNU General Public License for more details.
 | ||||
| //
 | ||||
| //You should have received a copy of the GNU General Public License
 | ||||
| //along with this program; if not, write to the Free Software
 | ||||
| //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 | ||||
| 
 | ||||
| #ifndef LISTVIEW_H | ||||
| #define LISTVIEW_H | ||||
| 
 | ||||
| #include "window.h" | ||||
| 
 | ||||
| class ListView : public Window | ||||
| { | ||||
| public: | ||||
| 	ListView() : Window() {}; | ||||
| 
 | ||||
| 	virtual ~ListView() {}; | ||||
| 	virtual void init(HINSTANCE hInst, HWND hwnd); | ||||
| 	virtual void destroy(); | ||||
| 
 | ||||
| 	void resetValues(int codepage = 0); | ||||
| 
 | ||||
| protected: | ||||
| 	WNDPROC _defaultProc; | ||||
| 	LRESULT runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam); | ||||
| 
 | ||||
| 	static LRESULT CALLBACK staticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { | ||||
| 		return (((ListView *)(::GetWindowLongPtr(hwnd, GWL_USERDATA)))->runProc(hwnd, Message, wParam, lParam)); | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| #endif // LISTVIEW_H
 | ||||
							
								
								
									
										94
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,94 @@ | ||||
| /*
 | ||||
| this file is part of notepad++ | ||||
| Copyright (C)2011 Don HO <donho@altern.org> | ||||
| 
 | ||||
| This program is free software; you can redistribute it and/or | ||||
| modify it under the terms of the GNU General Public License | ||||
| as published by the Free Software Foundation; either | ||||
| version 2 of the License, or (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a Copy of the GNU General Public License | ||||
| along with this program; if not, write to the Free Software | ||||
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
| */ | ||||
| 
 | ||||
| #include "precompiledHeaders.h" | ||||
| #include "ansiCharPanel.h" | ||||
| #include "ScintillaEditView.h" | ||||
| 
 | ||||
| BOOL CALLBACK AnsiCharPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) | ||||
| { | ||||
|     switch (message) | ||||
|     { | ||||
|         case WM_INITDIALOG : | ||||
|         { | ||||
|             TCHAR asciiStr[2]; | ||||
|             asciiStr[1] = '\0'; | ||||
| 			 | ||||
| 			_listView.init(_hInst, _hSelf); | ||||
| 			int codepage = (*_ppEditView)->getCurrentBuffer()->getEncoding(); | ||||
| 			_listView.resetValues(codepage==-1?0:codepage); | ||||
| 			_listView.display(); | ||||
| 
 | ||||
|             return TRUE; | ||||
|         } | ||||
| 
 | ||||
| 		case WM_NOTIFY: | ||||
| 		{ | ||||
| 			switch (((LPNMHDR)lParam)->code) | ||||
| 			{ | ||||
| 				case NM_DBLCLK: | ||||
| 				{ | ||||
| 					//printStr(TEXT("OK"));
 | ||||
| 					LPNMITEMACTIVATE lpnmitem = (LPNMITEMACTIVATE) lParam; | ||||
| 					int i = lpnmitem->iItem; | ||||
| 
 | ||||
| 					if (i == -1) | ||||
| 						return TRUE; | ||||
| 
 | ||||
|                     char charStr[2]; | ||||
|                     charStr[0] = (unsigned char)i; | ||||
|                     charStr[1] = '\0'; | ||||
|                     wchar_t wCharStr[10]; | ||||
|                     char multiByteStr[10]; | ||||
| 					int codepage = (*_ppEditView)->getCurrentBuffer()->getEncoding(); | ||||
| 					if (codepage == -1) | ||||
| 					{ | ||||
| 						multiByteStr[0] = charStr[0]; | ||||
| 						multiByteStr[1] = charStr[1]; | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						MultiByteToWideChar(codepage, 0, charStr, -1, wCharStr, sizeof(wCharStr)); | ||||
| 						WideCharToMultiByte(CP_UTF8, 0, wCharStr, -1, multiByteStr, sizeof(multiByteStr), NULL, NULL); | ||||
| 					} | ||||
| 					(*_ppEditView)->execute(SCI_REPLACESEL, 0, (LPARAM)""); | ||||
| 					int len = (i < 128)?1:strlen(multiByteStr); | ||||
|                     (*_ppEditView)->execute(SCI_ADDTEXT, len, (LPARAM)multiByteStr); | ||||
| 
 | ||||
| 					return TRUE; | ||||
| 				} | ||||
| 				default: | ||||
| 					break; | ||||
| 			} | ||||
| 		} | ||||
| 		return TRUE; | ||||
| 
 | ||||
|         case WM_SIZE: | ||||
|         { | ||||
|             int width = LOWORD(lParam); | ||||
|             int height = HIWORD(lParam); | ||||
| 			::MoveWindow(_listView.getHSelf(), 0, 0, width, height, TRUE); | ||||
|             break; | ||||
|         } | ||||
| 
 | ||||
|         default : | ||||
|             return DockingDlgInterface::run_dlgProc(message, wParam, lParam); | ||||
|     } | ||||
| 	return DockingDlgInterface::run_dlgProc(message, wParam, lParam); | ||||
| } | ||||
							
								
								
									
										57
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| /*
 | ||||
| this file is part of notepad++ | ||||
| Copyright (C)2003 Don HO ( donho@altern.org ) | ||||
| 
 | ||||
| This program is free software; you can redistribute it and/or | ||||
| modify it under the terms of the GNU General Public License | ||||
| as published by the Free Software Foundation; either | ||||
| version 2 of the License, or (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a Copy of the GNU General Public License | ||||
| along with this program; if not, write to the Free Software | ||||
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
| */ | ||||
| 
 | ||||
| #ifndef ANSICHARPANEL_H | ||||
| #define  ANSICHARPANEL_H | ||||
| 
 | ||||
| //#include <windows.h>
 | ||||
| #ifndef DOCKINGDLGINTERFACE_H | ||||
| #include "DockingDlgInterface.h" | ||||
| #endif //DOCKINGDLGINTERFACE_H
 | ||||
| 
 | ||||
| #include "ansiCharPanel_rc.h" | ||||
| #include "ListView.h" | ||||
| 
 | ||||
| class ScintillaEditView; | ||||
| 
 | ||||
| class AnsiCharPanel : public DockingDlgInterface { | ||||
| public: | ||||
| 	AnsiCharPanel(): DockingDlgInterface(IDD_ANSIASCII_PANEL) {}; | ||||
| 
 | ||||
| 	void init(HINSTANCE hInst, HWND hPere, ScintillaEditView **ppEditView) { | ||||
| 		DockingDlgInterface::init(hInst, hPere); | ||||
| 		_ppEditView = ppEditView; | ||||
| 	}; | ||||
| 
 | ||||
|     virtual void display(bool toShow = true) const { | ||||
|         DockingDlgInterface::display(toShow); | ||||
|     }; | ||||
| 
 | ||||
|     void setParent(HWND parent2set){ | ||||
|         _hParent = parent2set; | ||||
|     }; | ||||
| 
 | ||||
| protected: | ||||
| 	virtual BOOL CALLBACK AnsiCharPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam); | ||||
| 
 | ||||
| private: | ||||
| 	ScintillaEditView **_ppEditView; | ||||
| 	ListView _listView; | ||||
| }; | ||||
| #endif // ANSICHARPANEL_H
 | ||||
							
								
								
									
										30
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.rc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel.rc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| /* | ||||
| this file is part of notepad++ | ||||
| Copyright (C)2003 Don HO ( donho@altern.org ) | ||||
| 
 | ||||
| This program is free software; you can redistribute it and/or | ||||
| modify it under the terms of the GNU General Public License | ||||
| as published by the Free Software Foundation; either | ||||
| version 2 of the License, or (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a Copy of the GNU General Public License | ||||
| along with this program; if not, write to the Free Software | ||||
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||||
| */ | ||||
| 
 | ||||
| #include <windows.h> | ||||
| #include "ansiCharPanel_rc.h" | ||||
| 
 | ||||
| IDD_ANSIASCII_PANEL DIALOGEX 26, 41, 142, 324 | ||||
| STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| EXSTYLE WS_EX_TOOLWINDOW | WS_EX_WINDOWEDGE | ||||
| CAPTION "ANSI Characters" | ||||
| FONT 8, "MS Sans Serif", 0, 0, 0x0 | ||||
| BEGIN | ||||
| 	//LISTBOX         IDC_LIST_ANSICHAR,50,44,78,120,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP | ||||
| END | ||||
							
								
								
									
										25
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel_rc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								PowerEditor/src/WinControls/AnsiCharPanel/ansiCharPanel_rc.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| //this file is part of notepad++
 | ||||
| //Copyright (C)2003 Don HO <donho@altern.org>
 | ||||
| //
 | ||||
| //This program is free software; you can redistribute it and/or
 | ||||
| //modify it under the terms of the GNU General Public License
 | ||||
| //as published by the Free Software Foundation; either
 | ||||
| //version 2 of the License, or (at your option) any later version.
 | ||||
| //
 | ||||
| //This program is distributed in the hope that it will be useful,
 | ||||
| //but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| //GNU General Public License for more details.
 | ||||
| //
 | ||||
| //You should have received a copy of the GNU General Public License
 | ||||
| //along with this program; if not, write to the Free Software
 | ||||
| //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 | ||||
| 
 | ||||
| #ifndef ANSICHARPANEL_RC_H | ||||
| #define ANSICHARPANEL_RC_H | ||||
| 
 | ||||
| #define	IDD_ANSIASCII_PANEL		2700 | ||||
| #define	IDC_LIST_ANSICHAR    (IDD_ANSIASCII_PANEL + 1) | ||||
| 
 | ||||
| #endif // ANSICHARPANEL_RC_H
 | ||||
| 
 | ||||
| @ -99,6 +99,10 @@ void StaticDialog::create(int dialogID, bool isRTL, bool msgDestParent) | ||||
| 
 | ||||
| 	if (!_hSelf) | ||||
| 	{ | ||||
| 		DWORD err = ::GetLastError(); | ||||
| 		char errMsg[256]; | ||||
| 		sprintf(errMsg, "CreateDialogParam() return NULL.\rGetLastError() == %d", err); | ||||
| 		::MessageBoxA(NULL, errMsg, "In StaticDialog::create()", MB_OK); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -104,6 +104,7 @@ | ||||
| 	#define    IDM_EDIT_COPY_BINARY                 (IDM_EDIT + 48) | ||||
| 	#define    IDM_EDIT_CUT_BINARY                  (IDM_EDIT + 49) | ||||
| 	#define    IDM_EDIT_PASTE_BINARY                (IDM_EDIT + 50) | ||||
| 	#define    IDM_EDIT_CHAR_PANEL                  (IDM_EDIT + 51) | ||||
| 
 | ||||
|     #define    IDM_EDIT_AUTOCOMPLETE                (50000 + 0) | ||||
|     #define    IDM_EDIT_AUTOCOMPLETE_CURRENTFILE    (50000 + 1) | ||||
|  | ||||
| @ -284,9 +284,14 @@ | ||||
| //#define	IDD_TASKLIST_DLG    2450
 | ||||
| #define	IDD_SETTING_DLG    2500 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| //See ShortcutMapper_rc.h
 | ||||
| //#define	IDD_SHORTCUTMAPPER_DLG      2600
 | ||||
| 
 | ||||
| //See ansiCharPanel_rc.h
 | ||||
| //#define	IDD_ANSIASCII_PANEL      2700
 | ||||
| 
 | ||||
| // See regExtDlg.h
 | ||||
| //#define	IDD_REGEXT 4000
 | ||||
| 
 | ||||
|  | ||||
| @ -133,7 +133,7 @@ | ||||
| 				Name="VCCLCompilerTool" | ||||
| 				Optimization="0" | ||||
| 				FavorSizeOrSpeed="0" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel" | ||||
| 				PreprocessorDefinitions="WIN32;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL" | ||||
| 				MinimalRebuild="true" | ||||
| 				ExceptionHandling="2" | ||||
| @ -228,7 +228,7 @@ | ||||
| 				FavorSizeOrSpeed="1" | ||||
| 				OmitFramePointers="false" | ||||
| 				WholeProgramOptimization="false" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel" | ||||
| 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL" | ||||
| 				GeneratePreprocessedFile="0" | ||||
| 				StringPooling="true" | ||||
| @ -325,7 +325,7 @@ | ||||
| 				FavorSizeOrSpeed="1" | ||||
| 				OmitFramePointers="false" | ||||
| 				WholeProgramOptimization="false" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA" | ||||
| 				AdditionalIncludeDirectories="..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel" | ||||
| 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL" | ||||
| 				StringPooling="true" | ||||
| 				ExceptionHandling="2" | ||||
| @ -499,6 +499,10 @@ | ||||
| 				RelativePath="..\src\WinControls\AboutDlg\AboutDlg.cpp" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\WinControls\AnsiCharPanel\ansiCharPanel.cpp" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\ScitillaComponent\AutoCompletion.cpp" | ||||
| 				> | ||||
| @ -595,6 +599,10 @@ | ||||
| 				RelativePath="..\src\lesDlgs.cpp" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\WinControls\AnsiCharPanel\ListView.cpp" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\localization.cpp" | ||||
| 				> | ||||
| @ -817,6 +825,10 @@ | ||||
| 				RelativePath="..\src\icons\allChars_on.ico" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\WinControls\AnsiCharPanel\ansiCharPanel.rc" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\icons\closeAll.bmp" | ||||
| 				> | ||||
| @ -1350,6 +1362,10 @@ | ||||
| 				RelativePath="..\src\WinControls\AboutDlg\AboutDlg.h" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\WinControls\AnsiCharPanel\ansiCharPanel.h" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\ScitillaComponent\AutoCompletion.h" | ||||
| 				> | ||||
| @ -1466,6 +1482,10 @@ | ||||
| 				RelativePath="..\src\lesDlgs.h" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\WinControls\AnsiCharPanel\ListView.h" | ||||
| 				> | ||||
| 			</File> | ||||
| 			<File | ||||
| 				RelativePath="..\src\localization.h" | ||||
| 				> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user