Преглед изворни кода

ENH: add status bar and help for items

Bill Hoffman пре 23 година
родитељ
комит
e61df962a6
3 измењених фајлова са 64 додато и 47 уклоњено
  1. 39 35
      Source/MFCDialog/CMakeSetup.rc
  2. 15 12
      Source/MFCDialog/CMakeSetupDialog.cpp
  3. 10 0
      Source/MFCDialog/PropertyList.cpp

+ 39 - 35
Source/MFCDialog/CMakeSetup.rc

@@ -1,4 +1,4 @@
-// Microsoft Visual C++ generated resource script.
+//Microsoft Developer Studio generated resource script.
 //
 //
 #include "resource.h"
 #include "resource.h"
 
 
@@ -27,18 +27,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 // TEXTINCLUDE
 // TEXTINCLUDE
 //
 //
 
 
-1 TEXTINCLUDE 
+1 TEXTINCLUDE MOVEABLE PURE 
 BEGIN
 BEGIN
     "resource.h\0"
     "resource.h\0"
 END
 END
 
 
-2 TEXTINCLUDE 
+2 TEXTINCLUDE MOVEABLE PURE 
 BEGIN
 BEGIN
     "#include ""afxres.h""\r\n"
     "#include ""afxres.h""\r\n"
     "\0"
     "\0"
 END
 END
 
 
-3 TEXTINCLUDE 
+3 TEXTINCLUDE MOVEABLE PURE 
 BEGIN
 BEGIN
     "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
     "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
     "#define _AFX_NO_OLE_RESOURCES\r\n"
     "#define _AFX_NO_OLE_RESOURCES\r\n"
@@ -66,7 +66,7 @@ END
 
 
 // Icon with lowest ID value placed first to ensure application icon
 // Icon with lowest ID value placed first to ensure application icon
 // remains consistent on all systems.
 // remains consistent on all systems.
-IDR_MAINFRAME           ICON                    "res\\CMakeSetupDialog.ico"
+IDR_MAINFRAME           ICON    DISCARDABLE     "res\\CMakeSetupDialog.ico"
 
 
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 //
 //
@@ -74,52 +74,53 @@ IDR_MAINFRAME           ICON                    "res\\CMakeSetupDialog.ico"
 //
 //
 
 
 IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
 IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "About CMakeSetup"
 CAPTION "About CMakeSetup"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
+FONT 8, "MS Sans Serif"
 BEGIN
 BEGIN
     ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
     ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
     LTEXT           "CMakeSetup\nwww.cmake.org",IDC_STATIC,40,18,119,16
     LTEXT           "CMakeSetup\nwww.cmake.org",IDC_STATIC,40,18,119,16
     DEFPUSHBUTTON   "OK",IDOK,178,7,50,14,WS_GROUP
     DEFPUSHBUTTON   "OK",IDOK,178,7,50,14,WS_GROUP
 END
 END
 
 
-IDD_CMakeSetupDialog_DIALOG DIALOGEX 0, 0, 446, 241
-STYLE DS_SETFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | 
-    WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
+IDD_CMakeSetupDialog_DIALOG DIALOGEX 0, 0, 447, 255
+STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
+    WS_SYSMENU | WS_THICKFRAME
 EXSTYLE WS_EX_APPWINDOW
 EXSTYLE WS_EX_APPWINDOW
 CAPTION "CMakeSetupDialog"
 CAPTION "CMakeSetupDialog"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
+FONT 8, "MS Sans Serif"
 BEGIN
 BEGIN
-    COMBOBOX        IDC_WhereSource,96,6,169,66,CBS_DROPDOWN | 
-                    CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_WhereSource,96,6,169,12,CBS_SIMPLE | CBS_AUTOHSCROLL | 
+                    WS_VSCROLL | WS_TABSTOP
     PUSHBUTTON      "Browse...",IDC_BROWSE_SOURCE,267,6,34,13
     PUSHBUTTON      "Browse...",IDC_BROWSE_SOURCE,267,6,34,13
     COMBOBOX        IDC_WhereBuild,96,26,169,68,CBS_DROPDOWN | 
     COMBOBOX        IDC_WhereBuild,96,26,169,68,CBS_DROPDOWN | 
                     CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
                     CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
     PUSHBUTTON      "Browse...",IDC_BROWSE_BUILD,267,25,34,13
     PUSHBUTTON      "Browse...",IDC_BROWSE_BUILD,267,25,34,13
-    DEFPUSHBUTTON   "Configure",IDC_BuildProjects,110,223,51,15
-    PUSHBUTTON      "Cancel",IDCANCEL,222,223,51,15
+    DEFPUSHBUTTON   "Configure",IDC_BuildProjects,110,219,51,15
+    PUSHBUTTON      "Cancel",IDCANCEL,222,219,51,15
     LISTBOX         IDC_LIST2,15,53,419,126,LBS_OWNERDRAWVARIABLE | 
     LISTBOX         IDC_LIST2,15,53,419,126,LBS_OWNERDRAWVARIABLE | 
                     LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | 
                     LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | 
                     WS_HSCROLL
                     WS_HSCROLL
     RTEXT           "Where is the source code:",IDC_STATIC,6,7,86,9
     RTEXT           "Where is the source code:",IDC_STATIC,6,7,86,9
     RTEXT           "Where to build the binaries:",IDC_STATIC,5,27,90,9
     RTEXT           "Where to build the binaries:",IDC_STATIC,5,27,90,9
-    GROUPBOX        "Cache Values",IDC_FRAME,9,44,432,140
-    LTEXT           "Right click on a cache value for additional options (delete, ignore, and help).\nPress Configure to update and display new values in red.\nPress OK to generate selected build files and exit.",
-                    IDC_MouseHelpCaption,112,190,243,27
-    LTEXT           "Static",IDC_CMAKE_VERSION,3,227,92,13,SS_CENTERIMAGE
-    PUSHBUTTON      "OK",IDC_OK,166,223,51,15
+    GROUPBOX        "Cache Values",IDC_FRAME,10,44,432,140
+    CTEXT           "Right click on a cache value for additional options (delete, ignore, and help).\nPress Configure to update and display new values in red.\nPress OK to generate selected build files and exit.",
+                    IDC_MouseHelpCaption,0,191,442,27
+    LTEXT           "Static",IDC_CMAKE_VERSION,3,221,92,13,SS_CENTERIMAGE
+    PUSHBUTTON      "OK",IDC_OK,166,219,51,15
     COMBOBOX        IDC_Generator,345,7,97,50,CBS_DROPDOWN | CBS_SORT | 
     COMBOBOX        IDC_Generator,345,7,97,50,CBS_DROPDOWN | CBS_SORT | 
                     WS_VSCROLL | WS_TABSTOP
                     WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Help",IDC_HELP_BUTTON,278,223,51,15
+    PUSHBUTTON      "Help",IDC_HELP_BUTTON,278,219,51,15
     CONTROL         "Show Advanced Values",IDC_AdvancedValues,"Button",
     CONTROL         "Show Advanced Values",IDC_AdvancedValues,"Button",
                     BS_AUTOCHECKBOX | WS_TABSTOP,305,28,98,9
                     BS_AUTOCHECKBOX | WS_TABSTOP,305,28,98,9
-    RTEXT           "Static",IDC_PROGRESS,341,226,100,12,SS_CENTERIMAGE
+    LTEXT           "Static",IDC_PROGRESS,2,240,442,12,SS_CENTERIMAGE | 
+                    SS_SUNKEN
     RTEXT           "Build For:",IDC_BuildForLabel,305,8,34,11,
     RTEXT           "Build For:",IDC_BuildForLabel,305,8,34,11,
                     SS_CENTERIMAGE
                     SS_CENTERIMAGE
 END
 END
 
 
-IDD_CMAKE_HELP_DIALOG DIALOG  0, 0, 365, 183
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_CMAKE_HELP_DIALOG DIALOG DISCARDABLE  0, 0, 365, 183
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "CMake Help"
 CAPTION "CMake Help"
 FONT 8, "MS Sans Serif"
 FONT 8, "MS Sans Serif"
 BEGIN
 BEGIN
@@ -129,6 +130,7 @@ BEGIN
 END
 END
 
 
 
 
+#ifndef _MAC
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 //
 //
 // Version
 // Version
@@ -151,13 +153,13 @@ BEGIN
     BEGIN
     BEGIN
         BLOCK "040904B0"
         BLOCK "040904B0"
         BEGIN
         BEGIN
-            VALUE "FileDescription", "CMakeSetup MFC Application"
-            VALUE "FileVersion", "1, 0, 0, 1"
-            VALUE "InternalName", "CMakeSetup"
-            VALUE "LegalCopyright", "Copyright (C) 2000"
-            VALUE "OriginalFilename", "CMakeSetup.EXE"
-            VALUE "ProductName", "CMakeSetup Application"
-            VALUE "ProductVersion", "1, 0, 0, 1"
+            VALUE "FileDescription", "CMakeSetup MFC Application\0"
+            VALUE "FileVersion", "1, 0, 0, 1\0"
+            VALUE "InternalName", "CMakeSetup\0"
+            VALUE "LegalCopyright", "Copyright (C) 2000\0"
+            VALUE "OriginalFilename", "CMakeSetup.EXE\0"
+            VALUE "ProductName", "CMakeSetup Application\0"
+            VALUE "ProductVersion", "1, 0, 0, 1\0"
         END
         END
     END
     END
     BLOCK "VarFileInfo"
     BLOCK "VarFileInfo"
@@ -166,6 +168,8 @@ BEGIN
     END
     END
 END
 END
 
 
+#endif    // !_MAC
+
 
 
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 //
 //
@@ -173,7 +177,7 @@ END
 //
 //
 
 
 #ifdef APSTUDIO_INVOKED
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
+GUIDELINES DESIGNINFO MOVEABLE PURE 
 BEGIN
 BEGIN
     IDD_ABOUTBOX, DIALOG
     IDD_ABOUTBOX, DIALOG
     BEGIN
     BEGIN
@@ -185,8 +189,8 @@ BEGIN
 
 
     IDD_CMakeSetupDialog_DIALOG, DIALOG
     IDD_CMakeSetupDialog_DIALOG, DIALOG
     BEGIN
     BEGIN
-        RIGHTMARGIN, 441
-        BOTTOMMARGIN, 238
+        RIGHTMARGIN, 442
+        BOTTOMMARGIN, 252
     END
     END
 
 
     IDD_CMAKE_HELP_DIALOG, DIALOG
     IDD_CMAKE_HELP_DIALOG, DIALOG
@@ -205,7 +209,7 @@ END
 // String Table
 // String Table
 //
 //
 
 
-STRINGTABLE 
+STRINGTABLE DISCARDABLE 
 BEGIN
 BEGIN
     IDS_ABOUTBOX            "&About CMakeSetup..."
     IDS_ABOUTBOX            "&About CMakeSetup..."
     IDS_CREATESHORTCUT      "&Create shortcut"
     IDS_CREATESHORTCUT      "&Create shortcut"

+ 15 - 12
Source/MFCDialog/CMakeSetupDialog.cpp

@@ -970,27 +970,30 @@ void CMakeSetupDialog::OnSize(UINT nType, int cx, int cy)
                                     cRect.Height() + deltay, 
                                     cRect.Height() + deltay, 
                                     SWP_NOCOPYBITS | SWP_NOMOVE | SWP_NOZORDER);
                                     SWP_NOCOPYBITS | SWP_NOMOVE | SWP_NOZORDER);
 
 
+    m_StatusDisplay.GetWindowRect(&cRect);
+    this->ScreenToClient(&cRect);
+    m_StatusDisplay.SetWindowPos(&wndBottom, cRect.left, 
+                                 cRect.top + deltay, 
+                                 cRect.Width() + deltax,  cRect.Height(),
+                                 SWP_NOCOPYBITS);
 
 
-    deltax = int(deltax + m_deltaXRemainder);
-    m_deltaXRemainder = float(deltax%2);
     m_MouseHelp.GetWindowRect(&cRect);
     m_MouseHelp.GetWindowRect(&cRect);
     this->ScreenToClient(&cRect);
     this->ScreenToClient(&cRect);
-    m_MouseHelp.SetWindowPos(&wndTop, cRect.left + deltax/2, 
+    m_MouseHelp.SetWindowPos(&wndTop, cRect.left , 
                              cRect.top + deltay, 
                              cRect.top + deltay, 
-                             0, 0,
-                             SWP_NOCOPYBITS | SWP_NOSIZE | SWP_NOZORDER);
+                             cRect.Width() +  deltax, cRect.Height(),
+                             SWP_NOCOPYBITS | SWP_NOZORDER);
+    
+    deltax = int(deltax + m_deltaXRemainder);
+    m_deltaXRemainder = float(deltax%2);
 
 
     m_VersionDisplay.GetWindowRect(&cRect);
     m_VersionDisplay.GetWindowRect(&cRect);
-    m_VersionDisplay.SetWindowPos(&wndBottom, 5, cy-23, 
+    this->ScreenToClient(&cRect);
+    m_VersionDisplay.SetWindowPos(&wndBottom, cRect.left, cRect.top + deltay, 
                                   cRect.Width() + deltax/2,  cRect.Height(),
                                   cRect.Width() + deltax/2,  cRect.Height(),
                                   SWP_NOCOPYBITS);
                                   SWP_NOCOPYBITS);
 
 
-    m_StatusDisplay.GetWindowRect(&cRect);
-    this->ScreenToClient(&cRect);
-    m_StatusDisplay.SetWindowPos(&wndBottom, cRect.left + deltax/2, 
-                                 cRect.top + deltay, 
-                                 cRect.Width() + deltax/2,  cRect.Height(),
-                                 SWP_NOCOPYBITS);
+   
 
 
     m_Configure.GetWindowRect(&cRect);
     m_Configure.GetWindowRect(&cRect);
     this->ScreenToClient(&cRect);
     this->ScreenToClient(&cRect);

+ 10 - 0
Source/MFCDialog/PropertyList.cpp

@@ -575,7 +575,17 @@ void CPropertyList::OnMouseMove(UINT nFlags, CPoint point)
     //set the cursor to a sizing cursor if the cursor is over the row divider
     //set the cursor to a sizing cursor if the cursor is over the row divider
     ::SetCursor(m_hCursorSize);
     ::SetCursor(m_hCursorSize);
   else
   else
+    { 
+    BOOL loc;
+    int curSel = ItemFromPoint(point,loc);
+    if(!loc)
+      {
+      CPropertyItem* pItem = (CPropertyItem*) GetItemDataPtr(curSel);
+      m_CMakeSetupDialog->SetDlgItemText(IDC_PROGRESS, pItem->m_HelpString);
+      }
     CListBox::OnMouseMove(nFlags, point);
     CListBox::OnMouseMove(nFlags, point);
+    }
+  
 }
 }
 
 
 void CPropertyList::InvertLine(CDC* pDC,CPoint ptFrom,CPoint ptTo)
 void CPropertyList::InvertLine(CDC* pDC,CPoint ptFrom,CPoint ptTo)