Author: gedmurphy Date: Tue Apr 18 20:42:54 2006 New Revision: 21651
URL: http://svn.reactos.ru/svn/reactos?rev=21651&view=rev Log: - convert the floating windows to use pointers within the main structure - allow showing and hiding of floating windows - implement a rough version of the history interface - temp draw a suggestion on how the color window could look. - insert a few menu hints - lots of half implemented of temp stuff in this commit, but committing now before the patch gets any bigger.
Added: trunk/reactos/base/applications/imagesoft/res/icons/color/ trunk/reactos/base/applications/imagesoft/res/icons/color/ColorLess.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/color/ColorMore.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/hist/ trunk/reactos/base/applications/imagesoft/res/icons/hist/HistBack.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/hist/HistDelete.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/hist/HistForward.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/hist/HistRedo.bmp (with props) trunk/reactos/base/applications/imagesoft/res/icons/hist/HistUndo.bmp (with props) Modified: trunk/reactos/base/applications/imagesoft/En.rc trunk/reactos/base/applications/imagesoft/floatwindow.c trunk/reactos/base/applications/imagesoft/imagesoft.c trunk/reactos/base/applications/imagesoft/imagesoft.rc trunk/reactos/base/applications/imagesoft/mainwnd.c trunk/reactos/base/applications/imagesoft/precomp.h trunk/reactos/base/applications/imagesoft/resource.h
Modified: trunk/reactos/base/applications/imagesoft/En.rc URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/En.rc (original) +++ trunk/reactos/base/applications/imagesoft/En.rc Tue Apr 18 20:42:54 2006 @@ -33,8 +33,8 @@ POPUP "&View" BEGIN MENUITEM "&Tools", ID_TOOLS, CHECKED - MENUITEM "&Color", -1, CHECKED - MENUITEM "&History", -1, CHECKED + MENUITEM "&Colors", ID_COLOR, CHECKED + MENUITEM "&History", ID_HISTORY, CHECKED MENUITEM "&Status Bar", ID_STATUSBAR, CHECKED END POPUP "&Image" @@ -163,17 +163,36 @@ IDS_TOOLTIP_REDO "Redo" END
+ /* Hints */ STRINGTABLE DISCARDABLE BEGIN + IDS_HINT_BLANK " " + IDS_HINT_NEW " Creates a new document." + IDS_HINT_OPEN " Opens an existing document." + IDS_HINT_CLOSE " Closes this window." + IDS_HINT_CLOSEALL " Closes all windows." + IDS_HINT_SAVE " Saves the active document." + IDS_HINT_SAVEAS " Saves the active document with a new name." + IDS_HINT_PRINTPRE " Previews the printed document." + IDS_HINT_PRINT " Prints the active document." + IDS_HINT_PROP " Shows the properties of the active image." IDS_HINT_EXIT " Exits this application." + + IDS_HINT_TOOLS " Shows or hides the tools floating window." + IDS_HINT_COLORS " Shows or hides the colors floating window." + IDS_HINT_HISTORY " Shows or hides the history floating window." + IDS_HINT_STATUS " Shows or hides the status bar." + + IDS_HINT_CASCADE " Arrange windows so they overlap." + IDS_HINT_TILE_HORZ " Arrange windows as non-overlapping tiles." + IDS_HINT_TILE_VERT " Arrange windows as non-overlapping tiles." + IDS_HINT_ARRANGE " Arrange icons at the bottom of the window." + IDS_HINT_NEXT " Activates the next window."
IDS_HINT_SYS_RESTORE " Restores this window to normal size." IDS_HINT_SYS_MOVE " Moves this window." IDS_HINT_SYS_SIZE " Resizes this window." IDS_HINT_SYS_MINIMIZE " Collapses this window to an icon." IDS_HINT_SYS_MAXIMIZE " Expands this window to fill this screen." - IDS_HINT_SYS_CLOSE " Closes this window." - IDS_HINT_SYS_NEXT " Activates the next window." END -
Modified: trunk/reactos/base/applications/imagesoft/floatwindow.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/floatwindow.c (original) +++ trunk/reactos/base/applications/imagesoft/floatwindow.c Tue Apr 18 20:42:54 2006 @@ -5,46 +5,52 @@ #define ID_TIMER 1
TBBUTTON ToolsButtons[] = { -/* iBitmap, idCommand, fsState, fsStyle, bReserved[2], dwData, iString */ - {TBICON_RECTSEL, ID_RECTSEL, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* rectangle select */ - {TBICON_MOVESEL, ID_MOVESEL, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* move selected pixels */ - {TBICON_LASOO, ID_LASOO, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* lasso select */ - {TBICON_MOVE, ID_MOVE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* move selection */ - {TBICON_ECLIPSESEL, ID_ECLIPSESEL, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* elipse select */ - {TBICON_ZOOM, ID_ZOOM, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* zoom */ - {TBICON_MAGICWAND, ID_MAGICWAND, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* magic wand */ - {TBICON_TEXT, ID_TEXT, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* text */ - {TBICON_PAINTBRUSH, ID_PAINTBRUSH, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* paintbrush */ - {TBICON_ERASER, ID_ERASER, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* eraser */ - {TBICON_PENCIL, ID_PENCIL, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* pencil */ - {TBICON_COLORPICKER, ID_COLORPICKER, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* color picker */ - {TBICON_CLONESTAMP, ID_CLONESTAMP, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* clone stamp */ - {TBICON_RECOLORING, ID_RECOLORING, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* recolor */ - {TBICON_PAINTBUCKET, ID_PAINTBUCKET, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* paint bucket */ - {TBICON_LINE, ID_LINE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* line */ - {TBICON_RECTANGLE, ID_RECTANGLE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* rectangle */ - {TBICON_ROUNDRECT, ID_ROUNDRECT, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* round rectangle */ - {TBICON_ECLIPSE, ID_ECLIPSE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* elipse */ - {TBICON_FREEFORM, ID_FREEFORM, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, /* free form */ +/* iBitmap, idCommand, fsState, fsStyle, bReserved[2], dwData, iString */ + {TBICON_RECTSEL, ID_RECTSEL, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* rectangle select */ + {TBICON_MOVESEL, ID_MOVESEL, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* move selected pixels */ + {TBICON_LASOO, ID_LASOO, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* lasso select */ + {TBICON_MOVE, ID_MOVE, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* move selection */ + {TBICON_ECLIPSESEL, ID_ECLIPSESEL, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* elipse select */ + {TBICON_ZOOM, ID_ZOOM, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* zoom */ + {TBICON_MAGICWAND, ID_MAGICWAND, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* magic wand */ + {TBICON_TEXT, ID_TEXT, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* text */ + {TBICON_PAINTBRUSH, ID_PAINTBRUSH, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* paintbrush */ + {TBICON_ERASER, ID_ERASER, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* eraser */ + {TBICON_PENCIL, ID_PENCIL, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* pencil */ + {TBICON_COLORPICKER, ID_COLORPICKER, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* color picker */ + {TBICON_CLONESTAMP, ID_CLONESTAMP, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* clone stamp */ + {TBICON_RECOLORING, ID_RECOLORING, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* recolor */ + {TBICON_PAINTBUCKET, ID_PAINTBUCKET, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* paint bucket */ + {TBICON_LINE, ID_LINE, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* line */ + {TBICON_RECTANGLE, ID_RECTANGLE, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* rectangle */ + {TBICON_ROUNDRECT, ID_ROUNDRECT, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* round rectangle */ + {TBICON_ECLIPSE, ID_ECLIPSE, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* elipse */ + {TBICON_FREEFORM, ID_FREEFORM, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0}, /* free form */
{10, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, };
+TBBUTTON HistoryButtons[] = { + {TBICON_BACKSM, ID_BACK, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* back */ + {TBICON_UNDOSM, ID_UNDO, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* undo */ + {TBICON_REDOSM, ID_REDO, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* redo */ + {TBICON_FORWARDSM, ID_FORWARD, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* forward */ + {TBICON_DELETESM, ID_DELETE, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* delete */ +}; +
BOOL -ShowHideWindow(HWND hwnd) -{ - static BOOL Hidden = FALSE; - - ShowWindow(hwnd, Hidden ? SW_SHOW : SW_HIDE); - Hidden = ~Hidden; - - return Hidden; +ShowHideWindow(PFLT_WND FltInfo) +{ + ShowWindow(FltInfo->hSelf, FltInfo->bShow ? SW_HIDE : SW_SHOW); + FltInfo->bShow = ~FltInfo->bShow; + + return FltInfo->bShow; }
VOID -FloatToolbarCreateToolsGui(PFLT_WND FltTools) +FloatToolbarCreateToolsGui(PMAIN_WND_INFO Info) { HWND hTb; HIMAGELIST hImageList; @@ -57,7 +63,7 @@ NULL, WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_WRAPABLE | CCS_NODIVIDER, 0, 0, 32, 200, - FltTools->hSelf, + Info->fltTools->hSelf, NULL, hInstance, NULL); @@ -77,7 +83,7 @@ 0, (LPARAM)MAKELONG(16, 16));
- hImageList = InitImageList(20, + hImageList = InitImageList(NumButtons, IDB_TOOLSRECTSEL);
ImageList_Destroy((HIMAGELIST)SendMessage(hTb, @@ -98,18 +104,216 @@
VOID -FloatToolbarCreateColorsGui(PFLT_WND FltColors) -{ - - return; -} - +FloatWindowPaintColorPicker(HWND hColorPicker) +{ + HDC hdc; + RECT rect; + + InvalidateRect(hColorPicker, + NULL, + TRUE); + UpdateWindow(hColorPicker); + + hdc = GetDC(hColorPicker); + + GetClientRect(hColorPicker, + &rect); + + Ellipse(hdc, + rect.left, + rect.top, + rect.right, + rect.bottom); + + ReleaseDC(hColorPicker, + hdc); + +}
VOID -FloatToolbarCreateHistoryGui(PFLT_WND FltHistory) -{ - - return; +FloatWindowPaintHueSlider(HWND hHueSlider) +{ + HDC hdc; + RECT rect; + + InvalidateRect(hHueSlider, + NULL, + TRUE); + UpdateWindow(hHueSlider); + + hdc = GetDC(hHueSlider); + + GetClientRect(hHueSlider, + &rect); + + Rectangle(hdc, + rect.left, + rect.top, + rect.right, + rect.bottom); + + ReleaseDC(hHueSlider, + hdc); + +} + + +VOID +FloatToolbarCreateColorsGui(PMAIN_WND_INFO Info) +{ + HWND hColorPicker; + HWND hHueSlider; + HWND hMouseButton; + HWND hMore; + RECT rect; + HBITMAP hMoreBitmap; + + GetClientRect(Info->fltColors->hSelf, + &rect); + + hColorPicker = CreateWindowEx(0, + WC_STATIC, + NULL, + WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, + 2, + 2, + rect.right * 0.65, + rect.bottom - 2, + Info->fltColors->hSelf, + NULL, + hInstance, + NULL); + + hHueSlider = CreateWindowEx(0, + WC_STATIC, + NULL, + WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, + 145, + 35, + 25, + 135, + Info->fltColors->hSelf, + NULL, + hInstance, + NULL); + + hMouseButton = CreateWindowEx(0, + WC_COMBOBOX, + NULL, + WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, + 118, 5, 75, 25, + Info->fltColors->hSelf, + NULL, + hInstance, + NULL); + //MakeFlatCombo(hMouseButton); + + /* temp, just testing */ + if (hMouseButton != NULL) + { + SendMessage(hMouseButton, CB_ADDSTRING, 0, (LPARAM)_T("Primary")); + SendMessage(hMouseButton, CB_ADDSTRING, 0, (LPARAM)_T("Secondary")); + SendMessage(hMouseButton, CB_SETCURSEL, 0, 0); + + } + + hMore = CreateWindowEx(WS_EX_STATICEDGE, + WC_BUTTON, + NULL, + WS_CHILD | WS_VISIBLE | BS_BITMAP, + rect.right - 15, + rect.bottom - 15, + 15, 15, + Info->fltColors->hSelf, + NULL, + hInstance, + NULL); + + hMoreBitmap = (HBITMAP)LoadImage(hInstance, + MAKEINTRESOURCE(IDB_COLORSMORE), + IMAGE_BITMAP, + 12, + 11, + LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS); + if (hMoreBitmap != NULL) + { + SendMessage(hMore, + BM_SETIMAGE, + IMAGE_BITMAP, + (LPARAM)hMoreBitmap); + } + + + /* temp functions for playing about with possible layouts */ + FloatWindowPaintHueSlider(hHueSlider); + FloatWindowPaintColorPicker(hColorPicker); + + if (hColorPicker != NULL) + { + HDC hDc = GetDC(hColorPicker); + TextOut(hDc, 8, 75, _T("Possible layout?"), 16); + ReleaseDC(hColorPicker, hDc); + } + +} + + +VOID +FloatToolbarCreateHistoryGui(PMAIN_WND_INFO Info) +{ + HWND hList; + HWND hButtons; + HIMAGELIST hImageList; + INT NumButtons; + + hList = CreateWindowEx(0, + WC_LISTBOX, + NULL, + WS_CHILD | WS_VISIBLE | LBS_EXTENDEDSEL, + 0, 0, 143, 100, + Info->fltHistory->hSelf, + NULL, + hInstance, + NULL); + + NumButtons = sizeof(HistoryButtons) / sizeof(HistoryButtons[0]); + hButtons = CreateWindowEx(0, + TOOLBARCLASSNAME, + NULL, + WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | CCS_BOTTOM | CCS_NODIVIDER, + 0, 0, 0, 0, + Info->fltHistory->hSelf, + NULL, + hInstance, + NULL); + + SendMessage(hButtons, + TB_BUTTONSTRUCTSIZE, + sizeof(ToolsButtons[0]), + 0); + + SendMessage(hButtons, + TB_SETBITMAPSIZE, + 0, + (LPARAM)MAKELONG(10, 10)); + + hImageList = InitImageList(NumButtons, + IDB_HISTBACK); + + ImageList_Destroy((HIMAGELIST)SendMessage(hButtons, + TB_SETIMAGELIST, + 0, + (LPARAM)hImageList)); + + SendMessage(hButtons, + TB_SETBUTTONSIZE, + 0, + MAKELONG(18, 16)); + + SendMessage(hButtons, + TB_ADDBUTTONS, + NumButtons, + (LPARAM)HistoryButtons); }
LRESULT CALLBACK @@ -118,11 +322,26 @@ WPARAM wParam, LPARAM lParam) { + PFLT_WND FltInfo; + + /* Get the window context */ + FltInfo = (PFLT_WND)GetWindowLongPtr(hwnd, + GWLP_USERDATA); + if (FltInfo == NULL && Message != WM_CREATE) + { + goto HandleDefaultMessage; + } + switch(Message) { - static BOOL bOpaque = FALSE; - case WM_CREATE: + + FltInfo = (PFLT_WND)(((LPCREATESTRUCT)lParam)->lpCreateParams); + + /*FIXME: read this from registry */ + FltInfo->bShow = TRUE; + + FltInfo->bOpaque = FALSE;
SetWindowLong(hwnd, GWL_EXSTYLE, @@ -141,7 +360,7 @@ { POINT pt;
- if (bOpaque != TRUE) + if (FltInfo->bOpaque != TRUE) { KillTimer(hwnd, ID_TIMER); @@ -161,7 +380,7 @@ KillTimer(hwnd, ID_TIMER);
- bOpaque = FALSE; + FltInfo->bOpaque = FALSE;
SetWindowLong(hwnd, GWL_EXSTYLE, @@ -182,7 +401,7 @@
case WM_NCMOUSEMOVE: case WM_MOUSEMOVE: - if (bOpaque == FALSE) + if (FltInfo->bOpaque == FALSE) { SetWindowLong(hwnd, GWL_EXSTYLE, @@ -194,7 +413,8 @@ NULL, RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
- bOpaque = TRUE; + FltInfo->bOpaque = TRUE; + MessageBox(NULL, _T("in"), _T("Hit test"), MB_OK | MB_ICONEXCLAMATION); SetTimer(hwnd, ID_TIMER, 200, @@ -202,9 +422,13 @@ } break;
+ case WM_CLOSE: + ShowHideWindow(FltInfo); + break; + case WM_COMMAND: if (LOWORD(wParam) == IDCANCEL) - ShowHideWindow(hwnd); + ShowHideWindow(FltInfo);
switch(LOWORD(wParam)) { @@ -245,12 +469,16 @@ Message, TRUE, lParam); - - case WM_CLOSE: - ShowHideWindow(hwnd); + break; + + case WM_DESTROY: + SetWindowLongPtr(hwnd, + GWLP_USERDATA, + 0); break;
default: +HandleDefaultMessage: return DefWindowProc(hwnd, Message, wParam,
Modified: trunk/reactos/base/applications/imagesoft/imagesoft.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/imagesoft.c (original) +++ trunk/reactos/base/applications/imagesoft/imagesoft.c Tue Apr 18 20:42:54 2006 @@ -62,6 +62,7 @@ { if (bRet != (BOOL)-1) { + //if (Msg.message == WM_SIZE) MessageBox(NULL, _T("Got it"), NULL, 0); if (!MainWndTranslateMDISysAccel(hMainWnd, &Msg)) {
Modified: trunk/reactos/base/applications/imagesoft/imagesoft.rc URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/imagesoft.rc (original) +++ trunk/reactos/base/applications/imagesoft/imagesoft.rc Tue Apr 18 20:42:54 2006 @@ -31,6 +31,7 @@ IDB_MAINPRINTPREICON BITMAP DISCARDABLE "res/icons/std/MainPrintPreIcon.bmp" IDB_MAINSAVEICON BITMAP DISCARDABLE "res/icons/std/MainSaveIcon.bmp"
+ /* text toolbar icons */ IDB_TEXTBOLD BITMAP DISCARDABLE "res/icons/text/TextBoldIcon.bmp" IDB_TEXTITALIC BITMAP DISCARDABLE "res/icons/text/TextItalicIcon.bmp" @@ -61,6 +62,16 @@ IDB_TOOLSTEXT BITMAP DISCARDABLE "res/icons/tools/ToolsText.bmp" IDB_TOOLSZOOM BITMAP DISCARDABLE "res/icons/tools/ToolsZoom.bmp"
+/* history window icons */ +IDB_HISTBACK BITMAP DISCARDABLE "res/icons/hist/HistBack.bmp" +IDB_HISTUNDO BITMAP DISCARDABLE "res/icons/hist/HistUndo.bmp" +IDB_HISTREDO BITMAP DISCARDABLE "res/icons/hist/HistRedo.bmp" +IDB_HISTFORWARD BITMAP DISCARDABLE "res/icons/hist/HistForward.bmp" +IDB_HISTDELETE BITMAP DISCARDABLE "res/icons/hist/HistDelete.bmp" + +/* colors window icons */ +IDB_COLORSMORE BITMAP DISCARDABLE "res/icons/color/ColorMore.bmp" +IDB_COLORSLESS BITMAP DISCARDABLE "res/icons/color/ColorLess.bmp"
/* cursors */ IDC_PAINTBRUSHCURSOR CURSOR DISCARDABLE "res/cursors/PaintBrushToolCursor.cur"
Modified: trunk/reactos/base/applications/imagesoft/mainwnd.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/mainwnd.c (original) +++ trunk/reactos/base/applications/imagesoft/mainwnd.c Tue Apr 18 20:42:54 2006 @@ -41,9 +41,9 @@
{10, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, /* separator */
- {TBICON_TXTLEFT, ID_TXTLEFT, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* left justified */ - {TBICON_TXTCENTER,ID_TXTCENTER,TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* centered */ - {TBICON_TXTRIGHT, ID_TXTRIGHT, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0 }, /* right justified */ + {TBICON_TXTLEFT, ID_TXTLEFT, TBSTATE_ENABLED | TBSTATE_CHECKED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0 }, /* left justified */ + {TBICON_TXTCENTER,ID_TXTCENTER,TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0 }, /* centered */ + {TBICON_TXTRIGHT, ID_TXTRIGHT, TBSTATE_ENABLED, BTNS_BUTTON | TBSTYLE_GROUP | TBSTYLE_CHECK, {0}, 0, 0 }, /* right justified */
{10, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, /* separator */ }; @@ -53,27 +53,40 @@ /* menu hints */ static const MENU_HINT MainMenuHintTable[] = { /* File Menu */ - {ID_CLOSE, IDS_HINT_SYS_CLOSE}, - {ID_EXIT, IDS_HINT_EXIT}, + {ID_BLANK, IDS_HINT_BLANK}, + {ID_NEW, IDS_HINT_NEW}, + {ID_OPEN, IDS_HINT_OPEN}, + {ID_CLOSE, IDS_HINT_CLOSE}, + {ID_CLOSEALL, IDS_HINT_CLOSEALL}, + {ID_SAVE, IDS_HINT_SAVE}, + {ID_SAVEAS, IDS_HINT_SAVEAS}, + {ID_PRINTPRE, IDS_HINT_PRINTPRE}, + {ID_PRINT, IDS_HINT_PRINT}, + {ID_PROP, IDS_HINT_PROP}, + {ID_EXIT, IDS_HINT_EXIT}, + + /* view menu */ + {ID_TOOLS, IDS_HINT_TOOLS}, + {ID_COLOR, IDS_HINT_COLORS}, + {ID_HISTORY, IDS_HINT_HISTORY}, + {ID_STATUSBAR, IDS_HINT_STATUS},
/* Window Menu */ - {ID_WINDOW_NEXT, IDS_HINT_SYS_NEXT} + {ID_WINDOW_NEXT, IDS_HINT_NEXT}, + {ID_WINDOW_CASCADE, IDS_HINT_CASCADE}, + {ID_WINDOW_TILE_HORZ, IDS_HINT_TILE_HORZ}, + {ID_WINDOW_TILE_VERT, IDS_HINT_TILE_VERT}, + {ID_WINDOW_ARRANGE, IDS_HINT_ARRANGE} };
static const MENU_HINT SystemMenuHintTable[] = { - {SC_RESTORE, IDS_HINT_SYS_RESTORE}, - {SC_MOVE, IDS_HINT_SYS_MOVE}, - {SC_SIZE, IDS_HINT_SYS_SIZE}, - {SC_MINIMIZE, IDS_HINT_SYS_MINIMIZE}, - {SC_MAXIMIZE, IDS_HINT_SYS_MAXIMIZE}, - {SC_CLOSE, IDS_HINT_SYS_CLOSE}, - {SC_NEXTWINDOW, IDS_HINT_SYS_NEXT}, -}; - -static FLT_WND FloatingWindow[NUM_FLT_WND] = { - {NULL, NULL, 0, 0, 53, 300}, /* tools */ - {NULL, NULL, 0, 0, 200, 200}, /* colors */ - {NULL, NULL, 0, 0, 150, 150} /* history */ + {SC_RESTORE, IDS_HINT_SYS_RESTORE}, + {SC_MOVE, IDS_HINT_SYS_MOVE}, + {SC_SIZE, IDS_HINT_SYS_SIZE}, + {SC_MINIMIZE, IDS_HINT_SYS_MINIMIZE}, + {SC_MAXIMIZE, IDS_HINT_SYS_MAXIMIZE}, + {SC_CLOSE, IDS_HINT_CLOSE}, + {SC_NEXTWINDOW, IDS_HINT_NEXT}, };
@@ -205,10 +218,11 @@ { case ID_TOOLBAR_TEXT: { - HWND hWndCombo; + HWND hFontType; + HWND hFontSize;
/* drop combo box into container window */ - hWndCombo = CreateWindowEx(0, + hFontType = CreateWindowEx(0, WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, @@ -217,18 +231,44 @@ NULL, hInstance, NULL); - if (hWndCombo != NULL) - { - SetParent(hWndCombo, + //MakeFlatCombo(hFontType); + if (hFontType != NULL) + { + SetParent(hFontType, hWndClient);
if (!ToolbarInsertSpaceForControl(hWndClient, - hWndCombo, + hFontType, 0, ID_TXTFONTNAME, TRUE)) { - DestroyWindow(hWndCombo); + DestroyWindow(hFontType); + } + } + + /* drop combo box into container window */ + hFontSize = CreateWindowEx(0, + WC_COMBOBOX, + NULL, + WS_CHILD | WS_VISIBLE | CBS_DROPDOWN, + 0, 0, 40, 25, + hParent, + NULL, + hInstance, + NULL); + if (hFontSize != NULL) + { + SetParent(hFontSize, + hWndClient); + + if (!ToolbarInsertSpaceForControl(hWndClient, + hFontSize, + 0, + ID_TXTFONTSIZE, + TRUE)) + { + DestroyWindow(hFontSize); } } break; @@ -407,31 +447,38 @@ }
static VOID -MainWndMoveFloatingWindows(HWND hwnd, PRECT wndOldPos) +MainWndMoveFloatingWindows(PMAIN_WND_INFO Info, + PRECT wndOldPos) { RECT wndNewPos, TbRect; INT i, xMoved, yMoved; - - if (GetWindowRect(hwnd, + PFLT_WND WndArr[NUM_FLT_WND]; + + if (GetWindowRect(Info->hSelf, &wndNewPos)) {
xMoved = wndNewPos.left - wndOldPos->left; yMoved = wndNewPos.top - wndOldPos->top;
+ /* store the pointers in an array */ + WndArr[0] = Info->fltTools; + WndArr[1] = Info->fltColors; + WndArr[2] = Info->fltHistory; + for (i = 0; i < NUM_FLT_WND; i++) { - GetWindowRect(FloatingWindow[i].hSelf, + GetWindowRect(WndArr[i]->hSelf, &TbRect);
- FloatingWindow[i].x = TbRect.left + xMoved; - FloatingWindow[i].y = TbRect.top + yMoved; - - MoveWindow(FloatingWindow[i].hSelf, - FloatingWindow[i].x, - FloatingWindow[i].y, - FloatingWindow[i].Width, - FloatingWindow[i].Height, + WndArr[i]->x = TbRect.left + xMoved; + WndArr[i]->y = TbRect.top + yMoved; + + MoveWindow(WndArr[i]->hSelf, + WndArr[i]->x, + WndArr[i]->y, + WndArr[i]->Width, + WndArr[i]->Height, TRUE); }
@@ -443,36 +490,36 @@
static VOID -MainWndResetFloatingWindows(HWND hwnd) +MainWndResetFloatingWindows(PMAIN_WND_INFO Info) { RECT rect;
- if (GetWindowRect(hwnd, + if (GetWindowRect(Info->hMdiClient, &rect)) {
/* tools datum */ - MoveWindow(FloatingWindow[0].hSelf, + MoveWindow(Info->fltTools->hSelf, rect.left + 5, rect.top + 5, - FloatingWindow[0].Width, - FloatingWindow[0].Height, + Info->fltTools->Width, + Info->fltTools->Height, TRUE);
/* colors datum */ - MoveWindow(FloatingWindow[1].hSelf, + MoveWindow(Info->fltColors->hSelf, rect.left + 5, - rect.bottom - FloatingWindow[1].Height - 5, - FloatingWindow[1].Width, - FloatingWindow[1].Height, + rect.bottom - Info->fltColors->Height - 5, + Info->fltColors->Width, + Info->fltColors->Height, TRUE);
/* history datum */ - MoveWindow(FloatingWindow[2].hSelf, - rect.right - FloatingWindow[2].Width - 5, + MoveWindow(Info->fltHistory->hSelf, + rect.right - Info->fltHistory->Width - 5, rect.top + 5, - FloatingWindow[2].Width, - FloatingWindow[2].Height, + Info->fltHistory->Width, + Info->fltHistory->Height, TRUE); } } @@ -482,7 +529,26 @@ { RECT rect; UINT Res; - INT i = TOOLS; + PFLT_WND WndArr[NUM_FLT_WND]; /* temp array for looping */ + INT i; + + Info->fltTools = HeapAlloc(ProcessHeap, + HEAP_ZERO_MEMORY, + sizeof(FLT_WND)); + Info->fltColors = HeapAlloc(ProcessHeap, + HEAP_ZERO_MEMORY, + sizeof(FLT_WND)); + Info->fltHistory = HeapAlloc(ProcessHeap, + HEAP_ZERO_MEMORY, + sizeof(FLT_WND)); + + /* set window dimensions */ + Info->fltTools->Width = 53; + Info->fltTools->Height = 300; + Info->fltColors->Width = 200; + Info->fltColors->Height = 200; + Info->fltHistory->Width = 150; + Info->fltHistory->Height = 150;
if (! GetWindowRect(Info->hMdiClient, &rect)) @@ -490,61 +556,74 @@ return; }
- /* tools datum */ - FloatingWindow[TOOLS].x = rect.left + 5; - FloatingWindow[TOOLS].y = rect.top + 5; - - /* colors datum */ - FloatingWindow[COLORS].x = rect.left + 5; - FloatingWindow[COLORS].y = rect.bottom - FloatingWindow[1].Height - 5; - - /* history datum */ - FloatingWindow[HISTORY].x = rect.right - FloatingWindow[2].Width - 5; - FloatingWindow[HISTORY].y = rect.top + 5; - - for (Res = IDS_FLT_TOOLS; Res < IDS_FLT_TOOLS + NUM_FLT_WND; Res++, i++) - { - if (! AllocAndLoadString(&FloatingWindow[i].lpName, + /* Set window datums */ + Info->fltTools->x = rect.left + 5; + Info->fltTools->y = rect.top + 5; + + Info->fltColors->x = rect.left + 5; + Info->fltColors->y = rect.bottom - Info->fltColors->Height - 5; + + Info->fltHistory->x = rect.right - Info->fltHistory->Width - 5; + Info->fltHistory->y = rect.top + 5; + + /* save pointers into array incrementing within the loop*/ + WndArr[0] = Info->fltTools; + WndArr[1] = Info->fltColors; + WndArr[2] = Info->fltHistory; + + for (i = 0, Res = IDS_FLT_TOOLS; Res < IDS_FLT_TOOLS + NUM_FLT_WND; Res++, i++) + { + if (! AllocAndLoadString(&WndArr[i]->lpName, hInstance, Res)) { - FloatingWindow[i].lpName = NULL; - } - - FloatingWindow[i].hSelf = CreateWindowEx(WS_EX_TOOLWINDOW, - TEXT("ImageSoftFloatWndClass"), - FloatingWindow[i].lpName, - WS_POPUPWINDOW | WS_DLGFRAME | WS_VISIBLE, - FloatingWindow[i].x, - FloatingWindow[i].y, - FloatingWindow[i].Width, - FloatingWindow[i].Height, - Info->hSelf, - NULL, - hInstance, - NULL); - } - - - - - if (FloatingWindow[TOOLS].hSelf != NULL) - { - FloatToolbarCreateToolsGui(&FloatingWindow[TOOLS]); - } - - if (FloatingWindow[COLORS].hSelf != NULL) - { - FloatToolbarCreateColorsGui(&FloatingWindow[COLORS]); - } - - if (FloatingWindow[HISTORY].hSelf != NULL) - { - FloatToolbarCreateHistoryGui(&FloatingWindow[HISTORY]); - } - -} - + WndArr[i]->lpName = NULL; + } + + WndArr[i]->hSelf = CreateWindowEx(WS_EX_TOOLWINDOW, + TEXT("ImageSoftFloatWndClass"), + WndArr[i]->lpName, + WS_POPUPWINDOW | WS_DLGFRAME | WS_VISIBLE, + WndArr[i]->x, + WndArr[i]->y, + WndArr[i]->Width, + WndArr[i]->Height, + Info->hSelf, + NULL, + hInstance, + WndArr[i]); + + } + + if (Info->fltTools->hSelf != NULL) + { + FloatToolbarCreateToolsGui(Info); + } + + if (Info->fltColors->hSelf != NULL) + { + FloatToolbarCreateColorsGui(Info); + } + + if (Info->fltHistory->hSelf != NULL) + { + FloatToolbarCreateHistoryGui(Info); + } + +} + +static VOID +MainWndDestroyFloatWindows(PMAIN_WND_INFO Info) +{ + if (Info->fltTools != NULL) + HeapFree(ProcessHeap, 0, Info->fltTools); + + if (Info->fltColors != NULL) + HeapFree(ProcessHeap, 0, Info->fltTools); + + if (Info->fltHistory != NULL) + HeapFree(ProcessHeap, 0, Info->fltTools); +}
@@ -753,9 +832,8 @@ CreateImageEditWindow(Info, &OpenInfo); } - - break; - } + } + break;
case ID_BOLD: MessageBox(NULL, _T("Bingo"), NULL, 0); @@ -781,6 +859,60 @@ MainWndResetFloatingWindows(Info->hMdiClient); */ }
+ } + break; + + case ID_TOOLS: + { + HMENU hMenu = GetMenu(Info->hSelf); + + if (hMenu != NULL) + { + UINT uCheck; + + ShowHideWindow(Info->fltTools); + + uCheck = Info->fltTools->bShow ? MF_CHECKED : MF_UNCHECKED; + CheckMenuItem(hMenu, + ID_TOOLS, + uCheck); + } + } + break; + + case ID_COLOR: + { + HMENU hMenu = GetMenu(Info->hSelf); + + if (hMenu != NULL) + { + UINT uCheck; + + ShowHideWindow(Info->fltColors); + + uCheck = Info->fltColors->bShow ? MF_CHECKED : MF_UNCHECKED; + CheckMenuItem(hMenu, + ID_COLOR, + uCheck); + } + } + break; + + case ID_HISTORY: + { + HMENU hMenu = GetMenu(Info->hSelf); + + if (hMenu != NULL) + { + UINT uCheck; + + ShowHideWindow(Info->fltHistory); + + uCheck = Info->fltHistory->bShow ? MF_CHECKED : MF_UNCHECKED; + CheckMenuItem(hMenu, + ID_HISTORY, + uCheck); + } } break;
@@ -841,6 +973,8 @@ DestroyMainWnd(PMAIN_WND_INFO Info) { /* FIXME - cleanup allocated resources */ + + MainWndDestroyFloatWindows(Info); }
@@ -918,7 +1052,7 @@
/* reposition the floating toolbars */ if ((wParam == SIZE_MAXIMIZED) || (wParam == SIZE_RESTORED)) - MainWndResetFloatingWindows(Info->hMdiClient); + MainWndResetFloatingWindows(Info);
break; } @@ -944,7 +1078,7 @@ { /* if the main window is moved, move the toolbars too */ if (bLBMouseDown) - MainWndMoveFloatingWindows(hwnd, &wndOldPos); + MainWndMoveFloatingWindows(Info, &wndOldPos); } break;
@@ -997,13 +1131,13 @@ LOWORD(wParam), MainMenuHintTable, sizeof(MainMenuHintTable) / sizeof(MainMenuHintTable[0]), - IDS_READY)) + IDS_HINT_BLANK)) { MainWndMenuHint(Info, LOWORD(wParam), SystemMenuHintTable, sizeof(SystemMenuHintTable) / sizeof(SystemMenuHintTable[0]), - IDS_READY); + IDS_HINT_BLANK); } } break;
Modified: trunk/reactos/base/applications/imagesoft/precomp.h URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/precomp.h (original) +++ trunk/reactos/base/applications/imagesoft/precomp.h Tue Apr 18 20:42:54 2006 @@ -49,6 +49,7 @@ /* generic definitions and forward declarations */ struct _MAIN_WND_INFO; struct _EDIT_WND_INFO; +struct _FLT_WND;
typedef enum _MDI_EDITOR_TYPE { metUnknown = 0, @@ -288,8 +289,11 @@ HWND hSelf; HWND hMdiClient; HWND hStatus; - HWND hFloatTools; int nCmdShow; + + struct _FLT_WND *fltTools; + struct _FLT_WND *fltColors; + struct _FLT_WND *fltHistory;
TOOLBAR_DOCKS ToolDocks;
@@ -300,7 +304,7 @@ PVOID ActiveEditor;
/* status flags */ - UINT InMenuLoop : 1; + BOOL InMenuLoop : 1; } MAIN_WND_INFO, *PMAIN_WND_INFO;
BOOL InitMainWindowImpl(VOID); @@ -376,14 +380,17 @@ INT y; INT Width; INT Height; + BOOL bShow : 1; BOOL bOpaque; } FLT_WND, *PFLT_WND;
-VOID FloatToolbarCreateToolsGui(PFLT_WND FltTools); -VOID FloatToolbarCreateColorsGui(PFLT_WND FltColors); -VOID FloatToolbarCreateHistoryGui(PFLT_WND FltHistory); +VOID FloatToolbarCreateToolsGui(PMAIN_WND_INFO Info); +VOID FloatToolbarCreateColorsGui(PMAIN_WND_INFO Info); +VOID FloatToolbarCreateHistoryGui(PMAIN_WND_INFO Info); BOOL InitFloatWndClass(VOID); VOID UninitFloatWndImpl(VOID); -BOOL ShowHideWindow(HWND hwnd); +BOOL ShowHideWindow(PFLT_WND FltInfo); + +VOID MakeFlatCombo(HWND hwndCombo);
#endif /* __IMAGESOFT_PRECOMP_H */
Added: trunk/reactos/base/applications/imagesoft/res/icons/color/ColorLess.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/color/ColorLess.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/color/ColorMore.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/color/ColorMore.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistBack.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistBack.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistDelete.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistDelete.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistForward.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistForward.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistRedo.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistRedo.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Added: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistUndo.bmp URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== Binary file - no diff available.
Propchange: trunk/reactos/base/applications/imagesoft/res/icons/hist/HistUndo.bmp ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Modified: trunk/reactos/base/applications/imagesoft/resource.h URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/base/applications/imagesoft/... ============================================================================== --- trunk/reactos/base/applications/imagesoft/resource.h (original) +++ trunk/reactos/base/applications/imagesoft/resource.h Tue Apr 18 20:42:54 2006 @@ -37,7 +37,14 @@ #define ID_EXIT 2016 #define ID_EDITCOLOURS 2017 #define ID_TOOLS 2018 -#define ID_STATUSBAR 2019 +#define ID_COLOR 2019 +#define ID_HISTORY 2020 +#define ID_STATUSBAR 2021 +#define ID_BLANK 2022 + +#define ID_BACK 2025 +#define ID_FORWARD 2026 +#define ID_DELETE 2027
/* text */ #define ID_BOLD 2030 @@ -47,6 +54,7 @@ #define ID_TXTCENTER 2034 #define ID_TXTRIGHT 2035 #define ID_TXTFONTNAME 2036 +#define ID_TXTFONTSIZE 2037
/* tools */ #define ID_CLONESTAMP 2050 @@ -81,7 +89,28 @@ #define ID_WINDOW_ARRANGE 3006
/* menu hints */ -#define IDS_HINT_EXIT 20001 +#define IDS_HINT_BLANK 20000 +#define IDS_HINT_NEW 20001 +#define IDS_HINT_OPEN 20002 +#define IDS_HINT_CLOSE 21006 +#define IDS_HINT_CLOSEALL 21007 +#define IDS_HINT_SAVE 20003 +#define IDS_HINT_SAVEAS 20004 +#define IDS_HINT_PRINT 20005 +#define IDS_HINT_PRINTPRE 20006 +#define IDS_HINT_PROP 20007 +#define IDS_HINT_EXIT 20008 + +#define IDS_HINT_TOOLS 20020 +#define IDS_HINT_COLORS 20021 +#define IDS_HINT_HISTORY 20022 +#define IDS_HINT_STATUS 20023 + +#define IDS_HINT_CASCADE 21009 +#define IDS_HINT_TILE_HORZ 21010 +#define IDS_HINT_TILE_VERT 21011 +#define IDS_HINT_ARRANGE 21012 +#define IDS_HINT_NEXT 21013
/* system menu hints */ #define IDS_HINT_SYS_RESTORE 21001 @@ -90,7 +119,6 @@ #define IDS_HINT_SYS_MINIMIZE 21004 #define IDS_HINT_SYS_MAXIMIZE 21005 #define IDS_HINT_SYS_CLOSE 21006 -#define IDS_HINT_SYS_NEXT 21007
/* Toolbar button bitmaps. @@ -136,7 +164,18 @@ #define IDB_TOOLSECLIPSE 10048 #define IDB_TOOLSFREEFORM 10049
-/* toolbar buttons */ +#define IDB_HISTBACK 10060 +#define IDB_HISTUNDO 10061 +#define IDB_HISTREDO 10062 +#define IDB_HISTFORWARD 10063 +#define IDB_HISTDELETE 10064 + +#define IDB_COLORSMORE 10080 +#define IDB_COLORSLESS 10081 + +/* TOOLBAR BITMAPS */ + +/* standard */ #define TBICON_NEW 0 #define TBICON_OPEN 1 #define TBICON_SAVE 2 @@ -147,14 +186,14 @@ #define TBICON_PASTE 7 #define TBICON_UNDO 8 #define TBICON_REDO 9 - +/* text */ #define TBICON_BOLD 0 #define TBICON_ITALIC 1 #define TBICON_ULINE 2 #define TBICON_TXTLEFT 3 #define TBICON_TXTCENTER 4 #define TBICON_TXTRIGHT 5 - +/* tools */ #define TBICON_RECTSEL 0 #define TBICON_MOVESEL 1 #define TBICON_LASOO 2 @@ -175,6 +214,13 @@ #define TBICON_ROUNDRECT 17 #define TBICON_ECLIPSE 18 #define TBICON_FREEFORM 19 +/* history */ +#define TBICON_BACKSM 0 +#define TBICON_UNDOSM 1 +#define TBICON_REDOSM 2 +#define TBICON_FORWARDSM 3 +#define TBICON_DELETESM 4 +
/* tooltips */ #define IDS_TOOLTIP_NEW 6000