]> Shamusworld >> Repos - ttedit/commitdiff
Fix cursors so that the use proper masks, added char window toggle,
authorShamus Hammons <jlhamm@acm.org>
Tue, 2 Sep 2008 13:08:53 +0000 (13:08 +0000)
committerShamus Hammons <jlhamm@acm.org>
Tue, 2 Sep 2008 13:08:53 +0000 (13:08 +0000)
changed scroll from dedicated tool to MMB drag.

res/cur1.xpm
res/cur2.xpm
res/cur3.xpm
res/cur4.xpm
res/cur5.xpm
res/cur6.xpm
res/cur7.xpm
res/cur8.xpm
src/editwindow.cpp
src/ttedit.cpp
src/ttedit.h

index 2d4038c303bc443055a5010fb99459e5821e6e42..20b4cac0c2518d0856c6899c1c240a60974d3c1f 100755 (executable)
@@ -1,28 +1,29 @@
 /* XPM */
-static const char * cur1_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       .........................",
-"       .........................",
-"   ..   ........................",
-"  ...   ........................",
-" .....   .......................",
-"......   .......................",
-".......   ......................",
-".......  .......................",
+static const char *cur1_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#.........................",
+"#aaaaaa#........................",
+"#aaaaaaa#.......................",
+"#aaaaaaaa#......................",
+"#aaaaaaaaa#.....................",
+"#aaaaaaaaaa#....................",
+"#aaaaaa####.....................",
+"#aaaaaa#........................",
+"#aa##aaa#.......................",
+"#a#.#aaa#.......................",
+".#...#aaa#......................",
+".....#aaa#......................",
+"......#a#.......................",
+".......#........................",
+"................................",
 "................................",
 "................................",
 "................................",
index 446c74bdb3f3e81490a32e7f3f254621a25809b7..a966a26500da5504efd07b00373aa69498c75581 100755 (executable)
@@ -1,33 +1,34 @@
 /* XPM */
-static const char * cur2_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       .........................",
-"       ......      .............",
-"   ..   .....       ............",
-"  ...   .....  ...  ............",
-" .....   ....  ...  ............",
-"......   ....  ...  ............",
-".......   ...       ............",
-".......  ....      .............",
-".............  .................",
-".............  .................",
-".............  .................",
-"................................",
-"................................",
+static const char *cur2_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#.........................",
+"#aaaaaa#........................",
+"#aaaaaaa#.......................",
+"#aaaaaaaa#......................",
+"#aaaaaaaaa#.....................",
+"#aaaaaaaaaa#....................",
+"#aaaaaa####.....................",
+"#aaaaaa#........................",
+"#aa##aaa#..#######..............",
+"#a#.#aaa#..#aaaaaa#.............",
+".#...#aaa#.#aaaaaaa#............",
+".....#aaa#.#aa###aa#............",
+"......#a#..#aa#.#aa#............",
+".......#...#aa###aa#............",
+"...........#aaaaaaa#............",
+"...........#aaaaaa#.............",
+"...........#aa####..............",
+"...........#aa#.................",
+"...........#aa#.................",
+"...........####.................",
 "................................",
 "................................",
 "................................",
index b920e6bc8d836fed7c184b29c11d94e0496e33c3..f842d8fc64491d3e1508906f1f185d89f7dc18c8 100755 (executable)
@@ -1,37 +1,38 @@
 /* XPM */
-static const char * cur3_xpm[] = {
-"32 32 2 1",
-"      g #FFFFFF",
-".     g #000000",
-"          ..                    ",
-"          ..                    ",
-"         ....                   ",
-"         ....                   ",
-"        ......                  ",
-"        . .. .                  ",
-"      .   ..   .                ",
-"          ..                    ",
-"    ..    ..    ..              ",
-"  ...    .  .    ...            ",
-"......... .. .........          ",
-"......... .. .........          ",
-"  ...    .  .    ...            ",
-"    ..    ..    ..              ",
-"          ..                    ",
-"      .   ..   .                ",
-"        . .. .                  ",
-"        ......                  ",
-"        .....                   ",
-"         ....                   ",
-"          ..                    ",
-"          ..                    ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                ",
-"                                "};
+static const char *cur3_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+"...........##...................",
+"..........#aa#..................",
+"..........#aa#..................",
+".........#aaaa#.................",
+".........#aaaa#.................",
+"........#aaaaaa#................",
+"......###a#aa#a###..............",
+"......#a###aa###a#..............",
+".....####.#aa#.####.............",
+"...##aa#..#aa#..#aa##...........",
+".##aaa####a##a####aaa##.........",
+"#aaaaaaaaa#aa#aaaaaaaaa#........",
+"#aaaaaaaaa#aa#aaaaaaaaa#........",
+".##aaa####a##a####aaa##.........",
+"...##aa#..#aa#..#aa##...........",
+".....####.#aa#.####.............",
+"......#a###aa###a#..............",
+"......###a#aa#a###..............",
+"........#aaaaaa#................",
+"........#aaaaa#.................",
+".........#aaaa#.................",
+"..........#aa#..................",
+"..........#aa#..................",
+"...........##...................",
+"................................",
+"................................",
+"................................",
+"................................",
+"................................",
+"................................",
+"................................",
+"................................"};
index a7527c72487bd32ed53101bce41e3953ffd20b6d..f34992b53b9d86453075beb3ad5295d912e8f138 100755 (executable)
@@ -1,37 +1,38 @@
 /* XPM */
-static const char * cur4_xpm[] = {
-"32 32 2 1",
-"      g #FFFFFF",
-".     g #000000",
-"  ..                            ",
-"  ..                            ",
-"......                          ",
-"......                          ",
-"  ..                            ",
-"  ..                            ",
-"             ...                ",
-"  ..       ..   ..              ",
-"  ..      ..     ..             ",
-" ....     .  .    .             ",
-" ....    .  .      .            ",
-"......   . .       .            ",
-". .. .   . .       .            ",
-"  ..     .         .            ",
-"  ..     .         .            ",
-"  ..      .       .             ",
-"  ..      ..     ..             ",
-"  ..       ..   ...             ",
-"  ..         ...   .            ",
-". .. .              .           ",
-"......               ..         ",
-" ....                ...        ",
-" ....                 ...       ",
-"  ..                   ...      ",
-"  ..                    .       ",
-"                                ",
-"                                ",
-"......                          ",
-"......                          ",
-"                                ",
-"                                ",
-"                                "};
+static const char *cur4_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+"..####..........................",
+"..#aa#..........................",
+"###aa###........................",
+"#aaaaaa#........................",
+"#aaaaaa#........................",
+"###aa###........................",
+"..#aa#........###...............",
+"..####......##aaa##.............",
+"..#aa#.....#aa###aa#............",
+"..#aa#....#aa##..#aa#...........",
+".#aaaa#...#a##a#..#a#...........",
+".#aaaa#..#a##a#....#a#..........",
+"#aaaaaa#.#a#a#.....#a#..........",
+"#a#aa#a#.#a#a#.....#a#..........",
+".##aa##..#a##......#a#..........",
+"..#aa#...#a#.......#a#..........",
+"..#aa#....#a#.....#a#...........",
+"..#aa#....#aa#...#aa#...........",
+"..#aa#.....#aa###aaa#...........",
+".##aa##.....##aaa###a#..........",
+"#a#aa#a#......###...#a##........",
+"#aaaaaa#.............#aa#.......",
+".#aaaa#..............#aaa#......",
+".#aaaa#...............#aaa#.....",
+"..#aa#.................#aaa#....",
+"..#aa#..................#a#.....",
+"...##....................#......",
+"########........................",
+"#aaaaaa#........................",
+"#aaaaaa#........................",
+"########........................",
+"................................"};
index 8620aaf3677b95e7eb6321c0bb04238a7826a98a..e13a52efc6ed057f4ca1d383d5168aa9a442513f 100755 (executable)
@@ -1,31 +1,32 @@
 /* XPM */
-static const char * cur5_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       .........................",
-"       ...... ..................",
-"   ..   ....   .................",
-"  ...   ..... ..................",
-" .....   .......................",
-"......   .....    ..............",
-".......   ...      .............",
-".......  ....  ..  .............",
-".............  ..  .............",
-".............      .............",
-"..............    ..............",
+static const char *cur5_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#.........................",
+"#aaaaaa#........................",
+"#aaaaaaa#.......................",
+"#aaaaaaaa#......................",
+"#aaaaaaaaa#...#.................",
+"#aaaaaaaaaa#.#a#................",
+"#aaaaaa####.##a##...............",
+"#aaaaaa#...#aaaaa#..............",
+"#aa##aaa#...##a##...............",
+"#a#.#aaa#....#a#................",
+".#...#aaa#...####...............",
+".....#aaa#..#aaaa#..............",
+"......#a#..#aaaaaa#.............",
+".......#...#aa##aa#.............",
+"...........#aa##aa#.............",
+"...........#aaaaaa#.............",
+"............#aaaa#..............",
+".............####...............",
 "................................",
 "................................",
 "................................",
index 018918e6e81c3e6681cebcbaa413f8a9cd20e589..b6ae043f7502ed8b2cf1945dc1d063f4b100a243 100755 (executable)
@@ -1,32 +1,33 @@
 /* XPM */
-static const char * cur6_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       ........  ...............",
-"       .......    ..............",
-"   ..   ......    ..............",
-"  ...   .....  ..  .............",
-" .....   ....  ..  .............",
-"......   ...  ....  ............",
-".......   ..  ....  ............",
-".......  ..  ......  ...........",
-"...........  ......  ...........",
-"..........  ........  ..........",
-"..........            ..........",
-"...........          ...........",
+static const char *cur6_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#......#..................",
+"#aaaaaa#....#a#.................",
+"#aaaaaaa#..##a##................",
+"#aaaaaaaa##aaaaa#...............",
+"#aaaaaaaaa###a##................",
+"#aaaaaaaaaa##a#.................",
+"#aaaaaa####..#.##...............",
+"#aaaaaa#......#aa#..............",
+"#aa##aaa#....#aaaa#.............",
+"#a#.#aaa#....#aaaa#.............",
+".#...#aaa#..#aa##aa#............",
+".....#aaa#..#aa##aa#............",
+"......#a#..#aa#..#aa#...........",
+".......#...#aa#..#aa#...........",
+"..........#aa######aa#..........",
+"..........#aaaaaaaaaa#..........",
+"...........#aaaaaaaa#...........",
+"............########............",
+"................................",
 "................................",
 "................................",
 "................................",
index 6dd57b7e5fb104cff0f5965991420479a5b2af2f..7271575c8c6971780902c9e4ab4fed3ae2ebec90 100755 (executable)
@@ -1,33 +1,34 @@
 /* XPM */
-static const char * cur7_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       .........................",
-"       .........................",
-"   ..   ........................",
-"  ...   ...  ......  ...........",
-" .....   ..   ....   ...........",
-"......   ...        ............",
-".......   ...      .............",
-".......  ....      .............",
-".............      .............",
-".............      .............",
-"............        ............",
-"...........   ....   ...........",
-"...........  ......  ...........",
+static const char *cur7_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#.........................",
+"#aaaaaa#........................",
+"#aaaaaaa#.......................",
+"#aaaaaaaa#......................",
+"#aaaaaaaaa#.....................",
+"#aaaaaaaaaa#....................",
+"#aaaaaa####.#####...............",
+"#aaaaaa#...#aaaaa#..............",
+"#aa##aaa#...#####...............",
+"#a#.#aaa#.......................",
+".#...#aaa#...####...............",
+".....#aaa#..#aaaa#..............",
+"......#a#..#aaaaaa#.............",
+".......#...#aa##aa#.............",
+"...........#aa##aa#.............",
+"...........#aaaaaa#.............",
+"............#aaaa#..............",
+".............####...............",
+"................................",
+"................................",
 "................................",
 "................................",
 "................................",
index 37861290fa1e27589e7a91d251e70dc6a1033c39..9ac8f5aef89f4af234ef8a7545fc18c6b0e6707d 100755 (executable)
@@ -1,33 +1,34 @@
 /* XPM */
-static const char * cur8_xpm[] = {
-"32 32 2 1",
-"      g #000000",
-".     g #FFFFFF",
-" ...............................",
-"  ..............................",
-"   .............................",
-"    ............................",
-"     ...........................",
-"      ..........................",
-"       .........................",
-"        ........................",
-"         .......................",
-"          ......................",
-"           .....................",
-"            ....................",
-"       .........................",
-"       .........................",
-"   ..   ........................",
-"  ...   ...  ......  ...........",
-" .....   ..   ....   ...........",
-"......   ...        ............",
-".......   ...      .............",
-".......  ....      .............",
-".............      .............",
-".............      .............",
-"............        ............",
-"...........   ....   ...........",
-"...........  ......  ...........",
+static const char *cur8_xpm[]={
+"32 32 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#..............................",
+"#a#.............................",
+"#aa#............................",
+"#aaa#...........................",
+"#aaaa#..........................",
+"#aaaaa#.........................",
+"#aaaaaa#........................",
+"#aaaaaaa#..#####................",
+"#aaaaaaaa##aaaaa#...............",
+"#aaaaaaaaa######................",
+"#aaaaaaaaaa#....................",
+"#aaaaaa####....##...............",
+"#aaaaaa#......#aa#..............",
+"#aa##aaa#....#aaaa#.............",
+"#a#.#aaa#....#aaaa#.............",
+".#...#aaa#..#aa##aa#............",
+".....#aaa#..#aa##aa#............",
+"......#a#..#aa#..#aa#...........",
+".......#...#aa#..#aa#...........",
+"..........#aa######aa#..........",
+"..........#aaaaaaaaaa#..........",
+"...........#aaaaaaaa#...........",
+"............########............",
+"................................",
+"................................",
 "................................",
 "................................",
 "................................",
index 667f75248e33d8112030a9f5a3796d5cce5368b7..f617f3db4ebf70e32eacf226e43ef6d55d3d3959 100755 (executable)
@@ -8,14 +8,22 @@
 // Who  When        What
 // ---  ----------  -------------------------------------------------------------
 // JLH  08/28/2008  Created this file
+// JLH  09/02/2008  Separated scrolling from dedicated tool to MMB drag
 //
 
 // FIXED:
 //
+// - Fixed scrolling
+//
 // STILL TO BE DONE:
 //
 // - Fix bug in Glyphpoints when dragging on an empty canvas or loading a font
-// - Fix scrolling, zooming, settings (ini)
+// - Fix zooming, settings (ini)
+// - Fix point adding bug 1: should be able to add points to empty canvas
+// - Fix point adding bug 2: should be able to add point successfully to single
+//   point on screen
+// - Add poly multi-select
+// - Add point multi-select
 //
 
 // Uncomment this for debugging...
@@ -301,11 +309,17 @@ WriteLogMsg(" --> [# polys: %u, # points: %u]\n", pts.GetNumPolys(), pts.GetNumP
        }
        else if (e.LeftUp())
        {
-//             mouseDown = false;
-
                if (tool == TOOLScroll || tool == TOOLZoom)
                        ReleaseMouse();
        }
+       else if (e.MiddleDown())
+       {
+               SetCursor(*(app.cur[2]));                               // Scrolling cursor
+       }
+       else if (e.MiddleUp())
+       {
+               SetCursor(*(app.cur[tool]));                    // Restore previous cursor
+       }
        else if (e.Dragging())
        {
                if (e.RightIsDown())
index 116bd4abfcea9b1daa9dd7dfb0446e3ad3546bdc..17617f167e9c2a225070a9f517cdcfbefc4eb52a 100755 (executable)
@@ -73,6 +73,8 @@ bool TTEditApp::OnInit()
        mainFrame = NULL;
        charWin = NULL;
        toolPalette = NULL;
+       for(int i=0; i<8; i++)
+               cur[i] = NULL;
 
 //Shouldn't we check to see if it was successful? This just assumes
        CreateResources();
@@ -83,7 +85,7 @@ bool TTEditApp::OnInit()
 
 //     charWin = new CharWindow(NULL);//, _T("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize);
        charWin = new CharWindow(mainFrame, _("Own3d W1nd0w"), wxDefaultPosition, wxDefaultSize,
-               wxCAPTION | wxRESIZE_BORDER);
+               wxCAPTION | wxRESIZE_BORDER | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT);
 
        toolPalette = new ToolWindow(mainFrame, _(""), wxDefaultPosition, wxDefaultSize,
                wxBORDER_NONE | wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT);
@@ -96,54 +98,36 @@ int TTEditApp::OnExit()
 #ifdef DEBUG
        CloseDebugLog();
 #endif
+       for(int i=0; i<8; i++)
+               if (cur[i])
+                       delete cur[i];
 
        return 0;
 }
 
+//
+// OS dependent method of creating cursor (works for Win32 and GTK+)
+//
+#define CREATE_CURSOR(storage, name, hsx, hsy) \
+       wxBitmap name##_bitmap(name##_xpm); \
+       wxImage name##_image = name##_bitmap.ConvertToImage(); \
+       name##_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hsx); \
+       name##_image.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hsy); \
+       storage = new wxCursor(name##_image);
+
 void TTEditApp::CreateResources(void)
 {
        // This is a sucky way to create cursors, but at least it's cross-platform...
-       // NOTE: Need to fix hotspots on a few... !!! FIX !!!
-
-       wxBitmap cursorBM1(cur1_xpm);
-       wxImage cursorImage1 = cursorBM1.ConvertToImage();
-       cursorImage1.SetMaskFromImage(cursorImage1, 0xFF, 0xFF, 0xFF);
-       cur[0] = new wxCursor(cursorImage1);
-
-       wxBitmap cursorBM2(cur2_xpm);
-       wxImage cursorImage2 = cursorBM2.ConvertToImage();
-       cursorImage2.SetMaskFromImage(cursorImage2, 0xFF, 0xFF, 0xFF);
-       cur[1] = new wxCursor(cursorImage2);
-
-       wxBitmap cursorBM3(cur3_xpm);
-       wxImage cursorImage3 = cursorBM3.ConvertToImage();
-       cursorImage3.SetMaskFromImage(cursorImage3, 0xFF, 0xFF, 0xFF);
-       cur[2] = new wxCursor(cursorImage3);
-
-       wxBitmap cursorBM4(cur4_xpm);
-       wxImage cursorImage4 = cursorBM4.ConvertToImage();
-       cursorImage4.SetMaskFromImage(cursorImage4, 0xFF, 0xFF, 0xFF);
-       cur[3] = new wxCursor(cursorImage4);
-
-       wxBitmap cursorBM5(cur5_xpm);
-       wxImage cursorImage5 = cursorBM5.ConvertToImage();
-       cursorImage5.SetMaskFromImage(cursorImage5, 0xFF, 0xFF, 0xFF);
-       cur[4] = new wxCursor(cursorImage5);
-
-       wxBitmap cursorBM6(cur6_xpm);
-       wxImage cursorImage6 = cursorBM6.ConvertToImage();
-       cursorImage6.SetMaskFromImage(cursorImage6, 0xFF, 0xFF, 0xFF);
-       cur[5] = new wxCursor(cursorImage6);
-
-       wxBitmap cursorBM7(cur7_xpm);
-       wxImage cursorImage7 = cursorBM7.ConvertToImage();
-       cursorImage7.SetMaskFromImage(cursorImage7, 0xFF, 0xFF, 0xFF);
-       cur[6] = new wxCursor(cursorImage7);
-
-       wxBitmap cursorBM8(cur8_xpm);
-       wxImage cursorImage8 = cursorBM8.ConvertToImage();
-       cursorImage8.SetMaskFromImage(cursorImage8, 0xFF, 0xFF, 0xFF);
-       cur[7] = new wxCursor(cursorImage8);
+       // NOTE: Need to fix hotspots on a few... !!! FIX !!! [DONE]
+
+       CREATE_CURSOR(cur[0], cur1, 1, 1);
+       CREATE_CURSOR(cur[1], cur2, 1, 1);
+       CREATE_CURSOR(cur[2], cur3, 11, 11);    // Prolly won't need this soon (scroll)...
+       CREATE_CURSOR(cur[3], cur4, 15, 13);    // Prolly won't need this soon (zoom)...
+       CREATE_CURSOR(cur[4], cur5, 1, 1);
+       CREATE_CURSOR(cur[5], cur6, 1, 1);
+       CREATE_CURSOR(cur[6], cur7, 1, 1);
+       CREATE_CURSOR(cur[7], cur8, 1, 1);
 }
 
 
@@ -151,6 +135,7 @@ BEGIN_EVENT_TABLE(TTEditFrame, wxFrame)
        EVT_MENU(IDM_OPEN, TTEditFrame::OnOpen)
        EVT_MENU(IDM_EXIT, TTEditFrame::OnExit)
        EVT_MENU(IDM_ABOUT, TTEditFrame::OnAbout)
+       EVT_MENU(ID_TBCHARWIN, TTEditFrame::OnCharWindow)
        EVT_CLOSE(TTEditFrame::OnCloseWindow)
 END_EVENT_TABLE()
 
@@ -177,7 +162,7 @@ TTEditFrame::TTEditFrame(wxFrame * parent, const wxString &title, const wxPoint
 
                tb->AddTool(ID_TBLEFT, _("Prev char"), tool1, _("Go to prev char"), wxITEM_NORMAL);
                tb->AddTool(ID_TBRIGHT, _("Next char"), tool2, _("Go to next char"), wxITEM_NORMAL);
-               tb->AddTool(ID_TBCHARWIN, _("Char Wnd"), tool3, _("Toggle char window"), wxITEM_NORMAL);
+               tb->AddTool(ID_TBCHARWIN, _("Char Wnd"), tool3, _("Toggle char window"), wxITEM_CHECK);
                tb->Realize();
        }
 
@@ -239,6 +224,14 @@ void TTEditFrame::OnExit(wxCommandEvent &e)
        this->Destroy();
 }
 
+void TTEditFrame::OnCharWindow(wxCommandEvent &e)
+{
+       app.charWin->Show(e.IsChecked() ? true : false);
+
+       if (e.IsChecked())
+               Raise();
+}
+
 void TTEditFrame::OnCloseWindow(wxCloseEvent &e)
 {
        app.toolPalette->Destroy();
index 6545455efe0304639ee9575664c8c4be2f3e711e..fc0fb3ef8e65b5e7466722dd872168d82f42b55b 100755 (executable)
@@ -56,6 +56,7 @@ class TTEditFrame: public wxFrame
                void OnOpen(wxCommandEvent &e);
                void OnExit(wxCommandEvent &e);
                void OnAbout(wxCommandEvent &e);
+               void OnCharWindow(wxCommandEvent &e);
 
        DECLARE_EVENT_TABLE()
 };