[NEW_FEATURE] Add style transparency feature, rightclick on color to enable.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@170 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
11333a7ec3
commit
12a2f16042
@ -192,7 +192,7 @@ enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV
|
|||||||
// returned value : TRUE if tab bar is hidden, otherwise FALSE
|
// returned value : TRUE if tab bar is hidden, otherwise FALSE
|
||||||
|
|
||||||
#define NPPM_CHECKDOCSTATUS (NPPMSG + 53)
|
#define NPPM_CHECKDOCSTATUS (NPPMSG + 53)
|
||||||
// VOID NPPM_CHECKDOCSTATUS(TRUE, 0)
|
// VOID NPPM_CHECKDOCSTATUS(BOOL, 0)
|
||||||
|
|
||||||
#define NPPM_ENABLECHECKDOCOPT (NPPMSG + 54)
|
#define NPPM_ENABLECHECKDOCOPT (NPPMSG + 54)
|
||||||
// VOID NPPM_ENABLECHECKDOCOPT(OPT, 0)
|
// VOID NPPM_ENABLECHECKDOCOPT(OPT, 0)
|
||||||
@ -209,6 +209,11 @@ enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV
|
|||||||
#define NPPM_GETEXTPART (RUNCOMMAND_USER + EXT_PART)
|
#define NPPM_GETEXTPART (RUNCOMMAND_USER + EXT_PART)
|
||||||
#define NPPM_GETCURRENTWORD (RUNCOMMAND_USER + CURRENT_WORD)
|
#define NPPM_GETCURRENTWORD (RUNCOMMAND_USER + CURRENT_WORD)
|
||||||
#define NPPM_GETNPPDIRECTORY (RUNCOMMAND_USER + NPP_DIRECTORY)
|
#define NPPM_GETNPPDIRECTORY (RUNCOMMAND_USER + NPP_DIRECTORY)
|
||||||
|
// BOOL NPPM_GETXXXXXXXXXXXXXXXX(size_t strLen, char *str)
|
||||||
|
// where str is the allocated char array,
|
||||||
|
// strLen is the allocated array size
|
||||||
|
// The return value is TRUE when get string operation success
|
||||||
|
// Otherwise (allocated array size is too small) FALSE
|
||||||
|
|
||||||
#define VAR_NOT_RECOGNIZED 0
|
#define VAR_NOT_RECOGNIZED 0
|
||||||
#define FULL_CURRENT_PATH 1
|
#define FULL_CURRENT_PATH 1
|
||||||
|
@ -2421,21 +2421,24 @@ void Notepad_plus::addHotSpot(bool docIsModifing)
|
|||||||
int activeFG = 0xFF0000;
|
int activeFG = 0xFF0000;
|
||||||
|
|
||||||
char fontName[256];
|
char fontName[256];
|
||||||
|
Style hotspotStyle;
|
||||||
|
|
||||||
_pEditView->execute(SCI_STYLEGETFONT, idStyle, (LPARAM)fontName);
|
_pEditView->execute(SCI_STYLEGETFONT, idStyle, (LPARAM)fontName);
|
||||||
int fg = _pEditView->execute(SCI_STYLEGETFORE, idStyle);
|
hotspotStyle._fgColor = _pEditView->execute(SCI_STYLEGETFORE, idStyle);
|
||||||
int bg = _pEditView->execute(SCI_STYLEGETBACK, idStyle);
|
hotspotStyle._bgColor = _pEditView->execute(SCI_STYLEGETBACK, idStyle);
|
||||||
int fontSize = _pEditView->execute(SCI_STYLEGETSIZE, idStyle);
|
hotspotStyle._fontSize = _pEditView->execute(SCI_STYLEGETSIZE, idStyle);
|
||||||
|
|
||||||
int isBold = _pEditView->execute(SCI_STYLEGETBOLD, idStyle);
|
int isBold = _pEditView->execute(SCI_STYLEGETBOLD, idStyle);
|
||||||
int isItalic = _pEditView->execute(SCI_STYLEGETITALIC, idStyle);
|
int isItalic = _pEditView->execute(SCI_STYLEGETITALIC, idStyle);
|
||||||
int isUnderline = _pEditView->execute(SCI_STYLEGETUNDERLINE, idStyle);
|
int isUnderline = _pEditView->execute(SCI_STYLEGETUNDERLINE, idStyle);
|
||||||
|
hotspotStyle._fontStyle = (isBold?FONTSTYLE_BOLD:0) | (isItalic?FONTSTYLE_ITALIC:0) | (isUnderline?FONTSTYLE_UNDERLINE:0);
|
||||||
|
|
||||||
int fontStyle = (isBold?FONTSTYLE_BOLD:0) | (isItalic?FONTSTYLE_ITALIC:0) | (isUnderline?FONTSTYLE_UNDERLINE:0);
|
int fontStyle = (isBold?FONTSTYLE_BOLD:0) | (isItalic?FONTSTYLE_ITALIC:0) | (isUnderline?FONTSTYLE_UNDERLINE:0);
|
||||||
int urlAction = (NppParameters::getInstance())->getNppGUI()._styleURL;
|
int urlAction = (NppParameters::getInstance())->getNppGUI()._styleURL;
|
||||||
if (urlAction == 2)
|
if (urlAction == 2)
|
||||||
fontStyle |= FONTSTYLE_UNDERLINE;
|
hotspotStyle._fontStyle |= FONTSTYLE_UNDERLINE;
|
||||||
|
|
||||||
_pEditView->setStyle(style_hotspot, fg, bg, fontName, fontStyle, fontSize);
|
_pEditView->setStyle(hotspotStyle);
|
||||||
|
|
||||||
_pEditView->execute(SCI_STYLESETHOTSPOT, style_hotspot, TRUE);
|
_pEditView->execute(SCI_STYLESETHOTSPOT, style_hotspot, TRUE);
|
||||||
_pEditView->execute(SCI_SETHOTSPOTACTIVEFORE, TRUE, activeFG);
|
_pEditView->execute(SCI_SETHOTSPOTACTIVEFORE, TRUE, activeFG);
|
||||||
@ -6801,6 +6804,17 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
else if (Message == NPPM_GETEXTPART)
|
else if (Message == NPPM_GETEXTPART)
|
||||||
fileStr = PathFindExtension(str);
|
fileStr = PathFindExtension(str);
|
||||||
|
|
||||||
|
// For the compability reason, if wParam is 0, then we assume the size of string buffer (lParam) is large enough.
|
||||||
|
// otherwise we check if the string buffer size is enough for the string to copy.
|
||||||
|
if (wParam != 0)
|
||||||
|
{
|
||||||
|
if (strlen(fileStr) >= wParam)
|
||||||
|
{
|
||||||
|
::MessageBox(_hSelf, "Allocated buffer size is not enough to copy the string.", "NPPM error", MB_OK);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strcpy((char *)lParam, fileStr);
|
strcpy((char *)lParam, fileStr);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -6815,6 +6829,18 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
_pEditView->expandWordSelection();
|
_pEditView->expandWordSelection();
|
||||||
|
|
||||||
_pEditView->getSelectedText(str, strSize, true);
|
_pEditView->getSelectedText(str, strSize, true);
|
||||||
|
|
||||||
|
// For the compability reason, if wParam is 0, then we assume the size of string buffer (lParam) is large enough.
|
||||||
|
// otherwise we check if the string buffer size is enough for the string to copy.
|
||||||
|
if (wParam != 0)
|
||||||
|
{
|
||||||
|
if (strlen(str) >= wParam)
|
||||||
|
{
|
||||||
|
::MessageBox(_hSelf, "Allocated buffer size is not enough to copy the string.", "NPPM_GETCURRENTWORD error", MB_OK);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strcpy((char *)lParam, str);
|
strcpy((char *)lParam, str);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -6826,6 +6852,18 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
|
|
||||||
::GetModuleFileName(NULL, str, strSize);
|
::GetModuleFileName(NULL, str, strSize);
|
||||||
PathRemoveFileSpec(str);
|
PathRemoveFileSpec(str);
|
||||||
|
|
||||||
|
// For the compability reason, if wParam is 0, then we assume the size of string buffer (lParam) is large enough.
|
||||||
|
// otherwise we check if the string buffer size is enough for the string to copy.
|
||||||
|
if (wParam != 0)
|
||||||
|
{
|
||||||
|
if (strlen(str) >= wParam)
|
||||||
|
{
|
||||||
|
::MessageBox(_hSelf, "Allocated buffer size is not enough to copy the string.", "NPPM_GETNPPDIRECTORY error", MB_OK);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
strcpy((char *)lParam, str);
|
strcpy((char *)lParam, str);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -8313,3 +8351,4 @@ winVer getWindowsVersion()
|
|||||||
return WV_UNKNOWN;
|
return WV_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1845,6 +1845,12 @@ void StyleArray::addStyler(int styleID, TiXmlNode *styleNode)
|
|||||||
unsigned long result = hexStrVal(str);
|
unsigned long result = hexStrVal(str);
|
||||||
_styleArray[_nbStyler]._bgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
|
_styleArray[_nbStyler]._bgColor = (RGB((result >> 16) & 0xFF, (result >> 8) & 0xFF, result & 0xFF)) | (result & 0xFF000000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
str = element->Attribute("colorStyle");
|
||||||
|
if (str)
|
||||||
|
{
|
||||||
|
_styleArray[_nbStyler]._colorStyle = decStrVal(str);
|
||||||
|
}
|
||||||
|
|
||||||
str = element->Attribute("fontName");
|
str = element->Attribute("fontName");
|
||||||
_styleArray[_nbStyler]._fontName = str;
|
_styleArray[_nbStyler]._fontName = str;
|
||||||
@ -3804,6 +3810,11 @@ void NppParameters::writeStyle2Element(Style & style2Wite, Style & style2Sync, T
|
|||||||
element->SetAttribute("bgColor", bgStr);
|
element->SetAttribute("bgColor", bgStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (style2Wite._colorStyle != COLORSTYLE_ALL)
|
||||||
|
{
|
||||||
|
element->SetAttribute("colorStyle", style2Wite._colorStyle);
|
||||||
|
}
|
||||||
|
|
||||||
if (style2Wite._fontName)
|
if (style2Wite._fontName)
|
||||||
{
|
{
|
||||||
const char *oldFontName = element->Attribute("fontName");
|
const char *oldFontName = element->Attribute("fontName");
|
||||||
@ -3898,6 +3909,11 @@ void NppParameters::insertUserLang2Tree(TiXmlNode *node, UserLangContainer *user
|
|||||||
styleElement->SetAttribute("bgColor", bgStr);
|
styleElement->SetAttribute("bgColor", bgStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (style2Wite._colorStyle != COLORSTYLE_ALL)
|
||||||
|
{
|
||||||
|
styleElement->SetAttribute("colorStyle", style2Wite._colorStyle);
|
||||||
|
}
|
||||||
|
|
||||||
if (style2Wite._fontName)
|
if (style2Wite._fontName)
|
||||||
{
|
{
|
||||||
styleElement->SetAttribute("fontName", style2Wite._fontName);
|
styleElement->SetAttribute("fontName", style2Wite._fontName);
|
||||||
@ -4013,3 +4029,4 @@ void NppParameters::addScintillaModifiedIndex(int index)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,6 +236,10 @@ const int FONTSTYLE_BOLD = 1;
|
|||||||
const int FONTSTYLE_ITALIC = 2;
|
const int FONTSTYLE_ITALIC = 2;
|
||||||
const int FONTSTYLE_UNDERLINE = 4;
|
const int FONTSTYLE_UNDERLINE = 4;
|
||||||
|
|
||||||
|
const int COLORSTYLE_FOREGROUND = 0x01;
|
||||||
|
const int COLORSTYLE_BACKGROUND = 0x02;
|
||||||
|
const int COLORSTYLE_ALL = COLORSTYLE_FOREGROUND|COLORSTYLE_BACKGROUND;
|
||||||
|
|
||||||
struct Style
|
struct Style
|
||||||
{
|
{
|
||||||
int _styleID;
|
int _styleID;
|
||||||
@ -243,6 +247,7 @@ struct Style
|
|||||||
|
|
||||||
COLORREF _fgColor;
|
COLORREF _fgColor;
|
||||||
COLORREF _bgColor;
|
COLORREF _bgColor;
|
||||||
|
int _colorStyle;
|
||||||
const char *_fontName;
|
const char *_fontName;
|
||||||
int _fontStyle;
|
int _fontStyle;
|
||||||
int _fontSize;
|
int _fontSize;
|
||||||
@ -250,7 +255,7 @@ struct Style
|
|||||||
int _keywordClass;
|
int _keywordClass;
|
||||||
string *_keywords;
|
string *_keywords;
|
||||||
|
|
||||||
Style():_styleID(-1), _fgColor(COLORREF(-1)), _bgColor(COLORREF(-1)), _fontName(NULL), _fontStyle(-1), _fontSize(-1), _keywordClass(-1), _keywords(NULL){};
|
Style():_styleID(-1), _fgColor(COLORREF(-1)), _bgColor(COLORREF(-1)), _colorStyle(COLORSTYLE_ALL), _fontName(NULL), _fontStyle(-1), _fontSize(-1), _keywordClass(-1), _keywords(NULL){};
|
||||||
|
|
||||||
~Style(){
|
~Style(){
|
||||||
if (_keywords)
|
if (_keywords)
|
||||||
@ -263,6 +268,7 @@ struct Style
|
|||||||
_styleDesc = style._styleDesc;
|
_styleDesc = style._styleDesc;
|
||||||
_fgColor = style._fgColor;
|
_fgColor = style._fgColor;
|
||||||
_bgColor = style._bgColor;
|
_bgColor = style._bgColor;
|
||||||
|
_colorStyle = style._colorStyle;
|
||||||
_fontName = style._fontName;
|
_fontName = style._fontName;
|
||||||
_fontSize = style._fontSize;
|
_fontSize = style._fontSize;
|
||||||
_fontStyle = style._fontStyle;
|
_fontStyle = style._fontStyle;
|
||||||
@ -280,6 +286,7 @@ struct Style
|
|||||||
this->_styleDesc = style._styleDesc;
|
this->_styleDesc = style._styleDesc;
|
||||||
this->_fgColor = style._fgColor;
|
this->_fgColor = style._fgColor;
|
||||||
this->_bgColor = style._bgColor;
|
this->_bgColor = style._bgColor;
|
||||||
|
this->_colorStyle = style._colorStyle;
|
||||||
this->_fontName = style._fontName;
|
this->_fontName = style._fontName;
|
||||||
this->_fontSize = style._fontSize;
|
this->_fontSize = style._fontSize;
|
||||||
this->_fontStyle = style._fontStyle;
|
this->_fontStyle = style._fontStyle;
|
||||||
|
@ -1247,7 +1247,8 @@ void Finder::setFinderStyle()
|
|||||||
if (iStyleDefault != -1)
|
if (iStyleDefault != -1)
|
||||||
{
|
{
|
||||||
Style & styleDefault = stylers.getStyler(iStyleDefault);
|
Style & styleDefault = stylers.getStyler(iStyleDefault);
|
||||||
_scintView.setStyle(styleDefault._styleID, styleDefault._fgColor, styleDefault._bgColor, styleDefault._fontName, styleDefault._fontStyle, styleDefault._fontSize);
|
styleDefault._colorStyle = COLORSTYLE_ALL; //All colors set
|
||||||
|
_scintView.setStyle(styleDefault);
|
||||||
}
|
}
|
||||||
|
|
||||||
_scintView.execute(SCI_STYLECLEARALL);
|
_scintView.execute(SCI_STYLECLEARALL);
|
||||||
|
@ -191,35 +191,35 @@ LRESULT ScintillaEditView::scintillaNew_Proc(HWND hwnd, UINT Message, WPARAM wPa
|
|||||||
}
|
}
|
||||||
return _callWindowProc(_scintillaDefaultProc, hwnd, Message, wParam, lParam);
|
return _callWindowProc(_scintillaDefaultProc, hwnd, Message, wParam, lParam);
|
||||||
}
|
}
|
||||||
void ScintillaEditView::setSpecialStyle(int styleID, COLORREF fgColour, COLORREF bgColour, const char *fontName, int fontStyle, int fontSize)
|
void ScintillaEditView::setSpecialStyle(Style & styleToSet)
|
||||||
{
|
{
|
||||||
if (!((fgColour >> 24) & 0xFF))
|
int styleID = styleToSet._styleID;
|
||||||
execute(SCI_STYLESETFORE, styleID, fgColour);
|
if ( styleToSet._colorStyle & COLORSTYLE_FOREGROUND )
|
||||||
|
execute(SCI_STYLESETFORE, styleID, styleToSet._fgColor);
|
||||||
|
|
||||||
if (!((bgColour >> 24) & 0xFF))
|
if ( styleToSet._colorStyle & COLORSTYLE_BACKGROUND )
|
||||||
execute(SCI_STYLESETBACK, styleID, bgColour);
|
execute(SCI_STYLESETBACK, styleID, styleToSet._bgColor);
|
||||||
|
|
||||||
if ((!fontName)||(strcmp(fontName, "")))
|
if ((!styleToSet._fontName)||(strcmp(styleToSet._fontName, "")))
|
||||||
execute(SCI_STYLESETFONT, (WPARAM)styleID, (LPARAM)fontName);
|
execute(SCI_STYLESETFONT, (WPARAM)styleID, (LPARAM)styleToSet._fontName);
|
||||||
|
|
||||||
|
int fontStyle = styleToSet._fontStyle;
|
||||||
if (fontStyle != -1)
|
if (fontStyle != -1)
|
||||||
{
|
{
|
||||||
execute(SCI_STYLESETBOLD, (WPARAM)styleID, fontStyle & FONTSTYLE_BOLD);
|
execute(SCI_STYLESETBOLD, (WPARAM)styleID, fontStyle & FONTSTYLE_BOLD);
|
||||||
execute(SCI_STYLESETITALIC, (WPARAM)styleID, fontStyle & FONTSTYLE_ITALIC);
|
execute(SCI_STYLESETITALIC, (WPARAM)styleID, fontStyle & FONTSTYLE_ITALIC);
|
||||||
execute(SCI_STYLESETUNDERLINE, (WPARAM)styleID, fontStyle & FONTSTYLE_UNDERLINE);
|
execute(SCI_STYLESETUNDERLINE, (WPARAM)styleID, fontStyle & FONTSTYLE_UNDERLINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fontSize > 0)
|
if (styleToSet._fontSize > 0)
|
||||||
execute(SCI_STYLESETSIZE, styleID, fontSize);
|
execute(SCI_STYLESETSIZE, styleID, styleToSet._fontSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScintillaEditView::setStyle(int styleID, COLORREF fgColour, COLORREF bgColour, const char *fontName, int fontStyle, int fontSize)
|
void ScintillaEditView::setStyle(Style styleToSet)
|
||||||
{
|
{
|
||||||
GlobalOverride & go = _pParameter->getGlobalOverrideStyle();
|
GlobalOverride & go = _pParameter->getGlobalOverrideStyle();
|
||||||
//go.enableBg = true;
|
//go.enableBg = true;
|
||||||
|
|
||||||
const char *localFn = fontName;
|
|
||||||
|
|
||||||
if (go.isEnable())
|
if (go.isEnable())
|
||||||
{
|
{
|
||||||
StyleArray & stylers = _pParameter->getMiscStylerArray();
|
StyleArray & stylers = _pParameter->getMiscStylerArray();
|
||||||
@ -228,42 +228,62 @@ void ScintillaEditView::setStyle(int styleID, COLORREF fgColour, COLORREF bgColo
|
|||||||
{
|
{
|
||||||
Style & style = stylers.getStyler(i);
|
Style & style = stylers.getStyler(i);
|
||||||
|
|
||||||
if (go.enableFg)
|
if (go.enableFg) {
|
||||||
fgColour = style._fgColor;
|
if (style._colorStyle & COLORSTYLE_FOREGROUND) {
|
||||||
if (go.enableBg)
|
styleToSet._colorStyle |= COLORSTYLE_FOREGROUND;
|
||||||
bgColour = style._bgColor;
|
styleToSet._fgColor = style._fgColor;
|
||||||
|
} else {
|
||||||
|
if (styleToSet._styleID == STYLE_DEFAULT) { //if global is set to transparent, use default style color
|
||||||
|
styleToSet._colorStyle |= COLORSTYLE_FOREGROUND;
|
||||||
|
} else {
|
||||||
|
styleToSet._colorStyle &= ~COLORSTYLE_FOREGROUND;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (go.enableBg) {
|
||||||
|
if (style._colorStyle & COLORSTYLE_BACKGROUND) {
|
||||||
|
styleToSet._colorStyle |= COLORSTYLE_BACKGROUND;
|
||||||
|
styleToSet._bgColor = style._bgColor;
|
||||||
|
} else {
|
||||||
|
if (styleToSet._styleID == STYLE_DEFAULT) { //if global is set to transparent, use default style color
|
||||||
|
styleToSet._colorStyle |= COLORSTYLE_BACKGROUND;
|
||||||
|
} else {
|
||||||
|
styleToSet._colorStyle &= ~COLORSTYLE_BACKGROUND;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (go.enableFont && style._fontName && style._fontName[0])
|
if (go.enableFont && style._fontName && style._fontName[0])
|
||||||
localFn = style._fontName;
|
styleToSet._fontName = style._fontName;
|
||||||
if (go.enableFontSize && (style._fontSize > 0))
|
if (go.enableFontSize && (style._fontSize > 0))
|
||||||
fontSize = style._fontSize;
|
styleToSet._fontSize = style._fontSize;
|
||||||
|
|
||||||
if (style._fontStyle != -1)
|
if (style._fontStyle != -1)
|
||||||
{
|
{
|
||||||
if (go.enableBold)
|
if (go.enableBold)
|
||||||
{
|
{
|
||||||
if (style._fontStyle & FONTSTYLE_BOLD)
|
if (style._fontStyle & FONTSTYLE_BOLD)
|
||||||
fontStyle |= FONTSTYLE_BOLD;
|
styleToSet._fontStyle |= FONTSTYLE_BOLD;
|
||||||
else
|
else
|
||||||
fontStyle &= ~FONTSTYLE_BOLD;
|
styleToSet._fontStyle &= ~FONTSTYLE_BOLD;
|
||||||
}
|
}
|
||||||
if (go.enableItalic)
|
if (go.enableItalic)
|
||||||
{
|
{
|
||||||
if (style._fontStyle & FONTSTYLE_ITALIC)
|
if (style._fontStyle & FONTSTYLE_ITALIC)
|
||||||
fontStyle |= FONTSTYLE_ITALIC;
|
styleToSet._fontStyle |= FONTSTYLE_ITALIC;
|
||||||
else
|
else
|
||||||
fontStyle &= ~FONTSTYLE_ITALIC;
|
styleToSet._fontStyle &= ~FONTSTYLE_ITALIC;
|
||||||
}
|
}
|
||||||
if (go.enableUnderLine)
|
if (go.enableUnderLine)
|
||||||
{
|
{
|
||||||
if (style._fontStyle & FONTSTYLE_UNDERLINE)
|
if (style._fontStyle & FONTSTYLE_UNDERLINE)
|
||||||
fontStyle |= FONTSTYLE_UNDERLINE;
|
styleToSet._fontStyle |= FONTSTYLE_UNDERLINE;
|
||||||
else
|
else
|
||||||
fontStyle &= ~FONTSTYLE_UNDERLINE;
|
styleToSet._fontStyle &= ~FONTSTYLE_UNDERLINE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setSpecialStyle(styleID, fgColour, bgColour, localFn, fontStyle, fontSize);
|
setSpecialStyle(styleToSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -361,7 +381,7 @@ void ScintillaEditView::setUserLexer()
|
|||||||
for (int i = 0 ; i < userLangContainer._styleArray.getNbStyler() ; i++)
|
for (int i = 0 ; i < userLangContainer._styleArray.getNbStyler() ; i++)
|
||||||
{
|
{
|
||||||
Style & style = userLangContainer._styleArray.getStyler(i);
|
Style & style = userLangContainer._styleArray.getStyler(i);
|
||||||
setStyle(style._styleID, style._fgColor, style._bgColor, style._fontName, style._fontStyle, style._fontSize);
|
setStyle(style);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,7 +407,7 @@ void ScintillaEditView::setUserLexer(const char *userLangName)
|
|||||||
for (int i = 0 ; i < userLangContainer._styleArray.getNbStyler() ; i++)
|
for (int i = 0 ; i < userLangContainer._styleArray.getNbStyler() ; i++)
|
||||||
{
|
{
|
||||||
Style & style = userLangContainer._styleArray.getStyler(i);
|
Style & style = userLangContainer._styleArray.getStyler(i);
|
||||||
setStyle(style._styleID, style._fgColor, style._bgColor, style._fontName, style._fontStyle, style._fontSize);
|
setStyle(style);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,7 +424,7 @@ void ScintillaEditView::setExternalLexer(LangType typeDoc)
|
|||||||
{
|
{
|
||||||
Style & style = pStyler->getStyler(i);
|
Style & style = pStyler->getStyler(i);
|
||||||
|
|
||||||
setStyle(style._styleID, style._fgColor, style._bgColor, style._fontName, style._fontStyle, style._fontSize);
|
setStyle(style);
|
||||||
|
|
||||||
if (style._keywordClass >= 0 && style._keywordClass <= KEYWORDSET_MAX)
|
if (style._keywordClass >= 0 && style._keywordClass <= KEYWORDSET_MAX)
|
||||||
{
|
{
|
||||||
@ -473,7 +493,7 @@ void ScintillaEditView::setCppLexer(LangType langType)
|
|||||||
{
|
{
|
||||||
for (int i = 0 ; i < pStyler->getNbStyler() ; i++)
|
for (int i = 0 ; i < pStyler->getNbStyler() ; i++)
|
||||||
{
|
{
|
||||||
Style & style = pStyler->getStyler(i);
|
Style style = pStyler->getStyler(i); //not by reference, but copy
|
||||||
int cppID = style._styleID;
|
int cppID = style._styleID;
|
||||||
switch (style._styleID)
|
switch (style._styleID)
|
||||||
{
|
{
|
||||||
@ -489,7 +509,8 @@ void ScintillaEditView::setCppLexer(LangType langType)
|
|||||||
case SCE_HJ_SINGLESTRING : cppID = SCE_C_CHARACTER; break;
|
case SCE_HJ_SINGLESTRING : cppID = SCE_C_CHARACTER; break;
|
||||||
case SCE_HJ_REGEX : cppID = SCE_C_REGEX; break;
|
case SCE_HJ_REGEX : cppID = SCE_C_REGEX; break;
|
||||||
}
|
}
|
||||||
setStyle(cppID, style._fgColor, style._bgColor, style._fontName, style._fontStyle, style._fontSize);
|
style._styleID = cppID;
|
||||||
|
setStyle(style);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
execute(SCI_STYLESETEOLFILLED, SCE_C_DEFAULT, true);
|
execute(SCI_STYLESETEOLFILLED, SCE_C_DEFAULT, true);
|
||||||
@ -617,7 +638,8 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
if (iStyleDefault != -1)
|
if (iStyleDefault != -1)
|
||||||
{
|
{
|
||||||
Style & styleDefault = stylers.getStyler(iStyleDefault);
|
Style & styleDefault = stylers.getStyler(iStyleDefault);
|
||||||
setStyle(styleDefault._styleID, styleDefault._fgColor, styleDefault._bgColor, styleDefault._fontName, styleDefault._fontStyle, styleDefault._fontSize);
|
styleDefault._colorStyle = COLORSTYLE_ALL; //override transparency
|
||||||
|
setStyle(styleDefault);
|
||||||
}
|
}
|
||||||
|
|
||||||
execute(SCI_STYLECLEARALL);
|
execute(SCI_STYLECLEARALL);
|
||||||
@ -626,21 +648,21 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
if (iFind != -1)
|
if (iFind != -1)
|
||||||
{
|
{
|
||||||
Style & styleFind = stylers.getStyler(iFind);
|
Style & styleFind = stylers.getStyler(iFind);
|
||||||
setSpecialStyle(styleFind._styleID, styleFind._fgColor, styleFind._bgColor, styleFind._fontName, styleFind._fontStyle, styleFind._fontSize);
|
setSpecialStyle(styleFind);
|
||||||
}
|
}
|
||||||
|
|
||||||
iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_FOUND_STYLE_2);
|
iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_FOUND_STYLE_2);
|
||||||
if (iFind != -1)
|
if (iFind != -1)
|
||||||
{
|
{
|
||||||
Style & styleFind = stylers.getStyler(iFind);
|
Style & styleFind = stylers.getStyler(iFind);
|
||||||
setSpecialStyle(styleFind._styleID, styleFind._fgColor, styleFind._bgColor, styleFind._fontName, styleFind._fontStyle, styleFind._fontSize);
|
setSpecialStyle(styleFind);
|
||||||
}
|
}
|
||||||
|
|
||||||
iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_SELECT_STYLE);
|
iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_SELECT_STYLE);
|
||||||
if (iFind != -1)
|
if (iFind != -1)
|
||||||
{
|
{
|
||||||
Style & styleFind = stylers.getStyler(iFind);
|
Style & styleFind = stylers.getStyler(iFind);
|
||||||
setSpecialStyle(styleFind._styleID, styleFind._fgColor, styleFind._bgColor, styleFind._fontName, styleFind._fontStyle, styleFind._fontSize);
|
setSpecialStyle(styleFind);
|
||||||
}
|
}
|
||||||
|
|
||||||
int caretWidth = 1;
|
int caretWidth = 1;
|
||||||
@ -703,18 +725,22 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
LexerStyler *pStyler = (_pParameter->getLStylerArray()).getLexerStylerByName("nfo");
|
LexerStyler *pStyler = (_pParameter->getLStylerArray()).getLexerStylerByName("nfo");
|
||||||
COLORREF bg = black;
|
COLORREF bg = black;
|
||||||
COLORREF fg = liteGrey;
|
COLORREF fg = liteGrey;
|
||||||
|
Style nfoStyle;
|
||||||
|
nfoStyle._styleID = STYLE_DEFAULT;
|
||||||
|
nfoStyle._fontName = "MS LineDraw";
|
||||||
if (pStyler)
|
if (pStyler)
|
||||||
{
|
{
|
||||||
int i = pStyler->getStylerIndexByName("DEFAULT");
|
int i = pStyler->getStylerIndexByName("DEFAULT");
|
||||||
if (i != -1)
|
if (i != -1)
|
||||||
{
|
{
|
||||||
Style & style = pStyler->getStyler(i);
|
Style & style = pStyler->getStyler(i);
|
||||||
bg = style._bgColor;
|
nfoStyle._bgColor = style._bgColor;
|
||||||
fg = style._fgColor;
|
nfoStyle._fgColor = style._fgColor;
|
||||||
|
nfoStyle._colorStyle = style._colorStyle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setStyle(STYLE_DEFAULT, fg, bg, "MS LineDraw");
|
setStyle(nfoStyle);
|
||||||
execute(SCI_STYLECLEARALL);
|
execute(SCI_STYLECLEARALL);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -821,14 +847,14 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
if (indexOfIndentGuide != -1)
|
if (indexOfIndentGuide != -1)
|
||||||
{
|
{
|
||||||
static Style & styleIG = stylers.getStyler(indexOfIndentGuide);
|
static Style & styleIG = stylers.getStyler(indexOfIndentGuide);
|
||||||
setStyle(styleIG._styleID, styleIG._fgColor, styleIG._bgColor, styleIG._fontName, styleIG._fontStyle, styleIG._fontSize);
|
setStyle(styleIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int indexOfBraceLight = stylers.getStylerIndexByID(STYLE_BRACELIGHT);
|
static int indexOfBraceLight = stylers.getStylerIndexByID(STYLE_BRACELIGHT);
|
||||||
if (indexOfBraceLight != -1)
|
if (indexOfBraceLight != -1)
|
||||||
{
|
{
|
||||||
static Style & styleBL = stylers.getStyler(indexOfBraceLight);
|
static Style & styleBL = stylers.getStyler(indexOfBraceLight);
|
||||||
setStyle(styleBL._styleID, styleBL._fgColor, styleBL._bgColor, styleBL._fontName, styleBL._fontStyle, styleBL._fontSize);
|
setStyle(styleBL);
|
||||||
}
|
}
|
||||||
//setStyle(STYLE_CONTROLCHAR, liteGrey);
|
//setStyle(STYLE_CONTROLCHAR, liteGrey);
|
||||||
|
|
||||||
@ -836,14 +862,14 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
if (indexBadBrace != -1)
|
if (indexBadBrace != -1)
|
||||||
{
|
{
|
||||||
static Style & styleBB = stylers.getStyler(indexBadBrace);
|
static Style & styleBB = stylers.getStyler(indexBadBrace);
|
||||||
setStyle(styleBB._styleID, styleBB._fgColor, styleBB._bgColor, styleBB._fontName, styleBB._fontStyle, styleBB._fontSize);
|
setStyle(styleBB);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int indexLineNumber = stylers.getStylerIndexByID(STYLE_LINENUMBER);
|
static int indexLineNumber = stylers.getStylerIndexByID(STYLE_LINENUMBER);
|
||||||
if (indexLineNumber != -1)
|
if (indexLineNumber != -1)
|
||||||
{
|
{
|
||||||
static Style & styleLN = stylers.getStyler(indexLineNumber);
|
static Style & styleLN = stylers.getStyler(indexLineNumber);
|
||||||
setSpecialStyle(styleLN._styleID, styleLN._fgColor, styleLN._bgColor, styleLN._fontName, styleLN._fontStyle, styleLN._fontSize);
|
setSpecialStyle(styleLN);
|
||||||
}
|
}
|
||||||
|
|
||||||
execute(SCI_SETTABWIDTH, ((NppParameters::getInstance())->getNppGUI())._tabSize);
|
execute(SCI_SETTABWIDTH, ((NppParameters::getInstance())->getNppGUI())._tabSize);
|
||||||
@ -1273,7 +1299,7 @@ void ScintillaEditView::makeStyle(const char *lexerName, const char **keywordArr
|
|||||||
for (int i = 0 ; i < pStyler->getNbStyler() ; i++)
|
for (int i = 0 ; i < pStyler->getNbStyler() ; i++)
|
||||||
{
|
{
|
||||||
Style & style = pStyler->getStyler(i);
|
Style & style = pStyler->getStyler(i);
|
||||||
setStyle(style._styleID, style._fgColor, style._bgColor, style._fontName, style._fontStyle, style._fontSize);
|
setStyle(style);
|
||||||
if (keywordArray)
|
if (keywordArray)
|
||||||
{
|
{
|
||||||
if ((style._keywordClass != -1) && (style._keywords))
|
if ((style._keywordClass != -1) && (style._keywords))
|
||||||
|
@ -665,9 +665,9 @@ protected:
|
|||||||
|
|
||||||
bool _wrapRestoreNeeded;
|
bool _wrapRestoreNeeded;
|
||||||
|
|
||||||
void setStyle(int styleID, COLORREF fgColor, COLORREF bgColor = -1, const char *fontName = NULL, int fontStyle = -1, int fontSize = 0);
|
void setStyle(Style styleToSet); //NOT by reference (style edited)
|
||||||
void setSpecialStyle(int styleID, COLORREF fgColor, COLORREF bgColor = -1, const char *fontName = NULL, int fontStyle = -1, int fontSize = 0);
|
void setSpecialStyle(Style & styleToSet); //by reference
|
||||||
void setCppLexer(LangType type);
|
void setCppLexer(LangType type);
|
||||||
void setXmlLexer(LangType type);
|
void setXmlLexer(LangType type);
|
||||||
void setUserLexer();
|
void setUserLexer();
|
||||||
void setUserLexer(const char *userLangName);
|
void setUserLexer(const char *userLangName);
|
||||||
|
@ -92,8 +92,10 @@ void SharedParametersDialog::styleUpdate(const Style & style, ColourPicker *pFgC
|
|||||||
int fontComboId, int fontSizeComboId, int boldCheckId, int italicCheckId, int underlineCheckId)
|
int fontComboId, int fontSizeComboId, int boldCheckId, int italicCheckId, int underlineCheckId)
|
||||||
{
|
{
|
||||||
pFgColourPicker->setColour((style._fgColor == COLORREF(-1))?black:style._fgColor);
|
pFgColourPicker->setColour((style._fgColor == COLORREF(-1))?black:style._fgColor);
|
||||||
|
pFgColourPicker->setEnabled((style._colorStyle & COLORSTYLE_FOREGROUND) != 0);
|
||||||
pFgColourPicker->redraw();
|
pFgColourPicker->redraw();
|
||||||
pBgColourPicker->setColour((style._bgColor == COLORREF(-1))?white:style._bgColor);
|
pBgColourPicker->setColour((style._bgColor == COLORREF(-1))?white:style._bgColor);
|
||||||
|
pBgColourPicker->setEnabled((style._colorStyle & COLORSTYLE_BACKGROUND) != 0);
|
||||||
pBgColourPicker->redraw();
|
pBgColourPicker->redraw();
|
||||||
|
|
||||||
HWND hFontCombo = ::GetDlgItem(_hSelf, fontComboId);
|
HWND hFontCombo = ::GetDlgItem(_hSelf, fontComboId);
|
||||||
@ -217,12 +219,20 @@ BOOL CALLBACK SharedParametersDialog::run_dlgProc(UINT Message, WPARAM wParam, L
|
|||||||
if (index != -1)
|
if (index != -1)
|
||||||
{
|
{
|
||||||
Style & style = _pUserLang->_styleArray.getStyler(index);
|
Style & style = _pUserLang->_styleArray.getStyler(index);
|
||||||
if (isFG)
|
if (isFG) {
|
||||||
style._fgColor = pCP->getColour();
|
style._fgColor = pCP->getColour();
|
||||||
else
|
if (pCP->isEnabled())
|
||||||
style._bgColor = pCP->getColour();
|
style._colorStyle |= COLORSTYLE_FOREGROUND;
|
||||||
}
|
else
|
||||||
|
style._colorStyle &= ~COLORSTYLE_FOREGROUND;
|
||||||
|
} else {
|
||||||
|
style._bgColor = pCP->getColour();
|
||||||
|
if (pCP->isEnabled())
|
||||||
|
style._colorStyle |= COLORSTYLE_BACKGROUND;
|
||||||
|
else
|
||||||
|
style._colorStyle &= ~COLORSTYLE_BACKGROUND;
|
||||||
|
}
|
||||||
|
}
|
||||||
// A cause de "#define CPN_COLOURPICKED (BN_CLICKED)"
|
// A cause de "#define CPN_COLOURPICKED (BN_CLICKED)"
|
||||||
// Nous sommes obligés de mettre ce bloc ici !!!
|
// Nous sommes obligés de mettre ce bloc ici !!!
|
||||||
// A modifier !!!
|
// A modifier !!!
|
||||||
|
@ -48,17 +48,46 @@ void ColourPicker::init(HINSTANCE hInst, HWND parent)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColourPicker::drawSelf(HDC hDC)
|
void ColourPicker::drawBackground(HDC hDC)
|
||||||
{
|
{
|
||||||
PAINTSTRUCT ps;
|
|
||||||
RECT rc;
|
RECT rc;
|
||||||
|
HBRUSH hbrush;
|
||||||
|
|
||||||
|
if(!hDC)
|
||||||
|
return;
|
||||||
|
|
||||||
HDC hdc = hDC?hDC:(::BeginPaint(_hSelf, &ps));
|
|
||||||
getClientRect(rc);
|
getClientRect(rc);
|
||||||
HBRUSH hbrush = ::CreateSolidBrush(_currentColour);
|
hbrush = ::CreateSolidBrush(_currentColour);
|
||||||
FillRect(hdc, &rc, hbrush);
|
HGDIOBJ oldObj = ::SelectObject(hDC, hbrush);
|
||||||
|
::Rectangle(hDC, 0, 0, rc.right, rc.bottom);
|
||||||
|
::SelectObject(hDC, oldObj);
|
||||||
|
//FillRect(hDC, &rc, hbrush);
|
||||||
::DeleteObject(hbrush);
|
::DeleteObject(hbrush);
|
||||||
::EndPaint(_hSelf, &ps);
|
}
|
||||||
|
|
||||||
|
void ColourPicker::drawForeground(HDC hDC)
|
||||||
|
{
|
||||||
|
RECT rc;
|
||||||
|
HBRUSH hbrush;
|
||||||
|
|
||||||
|
if(!hDC || _isEnabled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int oldMode = ::SetBkMode(hDC, TRANSPARENT);
|
||||||
|
getClientRect(rc);
|
||||||
|
COLORREF strikeOut = RGB(0,0,0);
|
||||||
|
if ((((_currentColour ) & 0xFF) +
|
||||||
|
((_currentColour >> 8) & 0xFF) +
|
||||||
|
((_currentColour >> 16) & 0xFF)) < 200) //check if the color is too dark, if so, use white strikeout
|
||||||
|
strikeOut = RGB(0xFF,0xFF,0xFF);
|
||||||
|
if (!_isEnabled)
|
||||||
|
hbrush = ::CreateHatchBrush(HS_FDIAGONAL, strikeOut);
|
||||||
|
HGDIOBJ oldObj = ::SelectObject(hDC, hbrush);
|
||||||
|
::Rectangle(hDC, 0, 0, rc.right, rc.bottom);
|
||||||
|
::SelectObject(hDC, oldObj);
|
||||||
|
//FillRect(hDC, &rc, hbrush);
|
||||||
|
::DeleteObject(hbrush);
|
||||||
|
::SetBkMode(hDC, oldMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT ColourPicker::runProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
LRESULT ColourPicker::runProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
||||||
@ -85,10 +114,28 @@ LRESULT ColourPicker::runProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
case WM_RBUTTONDOWN:
|
||||||
|
{
|
||||||
|
_isEnabled = !_isEnabled;
|
||||||
|
redraw();
|
||||||
|
::SendMessage(_hParent, WM_COMMAND, MAKELONG(0, CPN_COLOURPICKED), (LPARAM)_hSelf);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_ERASEBKGND:
|
||||||
|
{
|
||||||
|
HDC dc = (HDC)wParam;
|
||||||
|
drawBackground(dc);
|
||||||
|
return TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WM_PAINT :
|
case WM_PAINT :
|
||||||
{
|
{
|
||||||
drawSelf((HDC)wParam);
|
PAINTSTRUCT ps;
|
||||||
|
HDC dc = ::BeginPaint(_hSelf, &ps);
|
||||||
|
drawForeground(dc);
|
||||||
|
::EndPaint(_hSelf, &ps);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|||||||
class ColourPicker : public Window
|
class ColourPicker : public Window
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
ColourPicker() : Window(), _currentColour(RGB(0xFF, 0x00, 0x00)), _pColourPopup(NULL){};
|
ColourPicker() : Window(), _currentColour(RGB(0xFF, 0x00, 0x00)), _pColourPopup(NULL), _isEnabled(true) {};
|
||||||
~ColourPicker(){};
|
~ColourPicker(){};
|
||||||
virtual void init(HINSTANCE hInst, HWND parent);
|
virtual void init(HINSTANCE hInst, HWND parent);
|
||||||
virtual void destroy() {
|
virtual void destroy() {
|
||||||
@ -42,16 +42,21 @@ public :
|
|||||||
|
|
||||||
COLORREF getColour() const {return _currentColour;};
|
COLORREF getColour() const {return _currentColour;};
|
||||||
|
|
||||||
|
bool isEnabled() {return _isEnabled;};
|
||||||
|
void setEnabled(bool enabled) {_isEnabled = enabled;};
|
||||||
|
|
||||||
private :
|
private :
|
||||||
COLORREF _currentColour;
|
COLORREF _currentColour;
|
||||||
WNDPROC _buttonDefaultProc;
|
WNDPROC _buttonDefaultProc;
|
||||||
ColourPopup *_pColourPopup;
|
ColourPopup *_pColourPopup;
|
||||||
|
bool _isEnabled;
|
||||||
|
|
||||||
static LRESULT CALLBACK staticWinProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
|
static LRESULT CALLBACK staticWinProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
|
||||||
return (((ColourPicker *)(::GetWindowLong(hwnd, GWL_USERDATA)))->runProc(Message, wParam, lParam));
|
return (((ColourPicker *)(::GetWindowLong(hwnd, GWL_USERDATA)))->runProc(Message, wParam, lParam));
|
||||||
};
|
};
|
||||||
LRESULT runProc(UINT Message, WPARAM wParam, LPARAM lParam);
|
LRESULT runProc(UINT Message, WPARAM wParam, LPARAM lParam);
|
||||||
inline void drawSelf(HDC hDC);
|
void drawForeground(HDC hDC);
|
||||||
|
void drawBackground(HDC hDC);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COLOUR_PICKER_H
|
#endif // COLOUR_PICKER_H
|
||||||
|
@ -400,10 +400,18 @@ void WordStyleDlg::updateColour(bool which)
|
|||||||
if (which == C_FOREGROUND)
|
if (which == C_FOREGROUND)
|
||||||
{
|
{
|
||||||
style._fgColor = _pFgColour->getColour();
|
style._fgColor = _pFgColour->getColour();
|
||||||
|
if (_pFgColour->isEnabled())
|
||||||
|
style._colorStyle |= COLORSTYLE_FOREGROUND;
|
||||||
|
else
|
||||||
|
style._colorStyle &= ~COLORSTYLE_FOREGROUND;
|
||||||
}
|
}
|
||||||
else //(which == C_BACKGROUND)
|
else //(which == C_BACKGROUND)
|
||||||
{
|
{
|
||||||
style._bgColor = _pBgColour->getColour();
|
style._bgColor = _pBgColour->getColour();
|
||||||
|
if (_pBgColour->isEnabled())
|
||||||
|
style._colorStyle |= COLORSTYLE_BACKGROUND;
|
||||||
|
else
|
||||||
|
style._colorStyle &= ~COLORSTYLE_BACKGROUND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -581,6 +589,7 @@ void WordStyleDlg::setVisualFromStyleList()
|
|||||||
if (HIBYTE(HIWORD(style._fgColor)) != 0xFF)
|
if (HIBYTE(HIWORD(style._fgColor)) != 0xFF)
|
||||||
{
|
{
|
||||||
_pFgColour->setColour(style._fgColor);
|
_pFgColour->setColour(style._fgColor);
|
||||||
|
_pFgColour->setEnabled((style._colorStyle & COLORSTYLE_FOREGROUND) != 0);
|
||||||
isEnable = true;
|
isEnable = true;
|
||||||
}
|
}
|
||||||
enableFg(isEnable);
|
enableFg(isEnable);
|
||||||
@ -589,6 +598,7 @@ void WordStyleDlg::setVisualFromStyleList()
|
|||||||
if (HIBYTE(HIWORD(style._bgColor)) != 0xFF)
|
if (HIBYTE(HIWORD(style._bgColor)) != 0xFF)
|
||||||
{
|
{
|
||||||
_pBgColour->setColour(style._bgColor);
|
_pBgColour->setColour(style._bgColor);
|
||||||
|
_pBgColour->setEnabled((style._colorStyle & COLORSTYLE_BACKGROUND) != 0);
|
||||||
isEnable = true;
|
isEnable = true;
|
||||||
}
|
}
|
||||||
enableBg(isEnable);
|
enableBg(isEnable);
|
||||||
@ -706,4 +716,4 @@ void WordStyleDlg::apply()
|
|||||||
//_isDirty = false;
|
//_isDirty = false;
|
||||||
_isSync = false;
|
_isSync = false;
|
||||||
::SendMessage(_hParent, WM_UPDATESCINTILLAS, 0, 0);
|
::SendMessage(_hParent, WM_UPDATESCINTILLAS, 0, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user