Changeset 451


Ignore:
Timestamp:
May 5, 2010, 6:35:10 PM (15 years ago)
Author:
Silvan Scherrer
Message:

ticket:198

Location:
trunk/Lucide
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/Lucide/gui/dialogs.rc

    r450 r451  
    122122                CONTROL "GTP_PAGE", -1, 5, 31, 45, 8, WC_STATIC, SS_TEXT | DT_LEFT | DT_TOP | DT_MNEMONIC | WS_VISIBLE | WS_GROUP
    123123                PRESPARAMS PP_FONTNAMESIZE "9.WarpSans"
    124                 CONTROL "", IDC_PAGE, 54, 31, 48, 10, WC_SPINBUTTON, SPBS_MASTER | SPBS_NUMERICONLY | SPBS_JUSTCENTER | WS_VISIBLE | WS_GROUP | WS_TABSTOP
     124                CONTROL "", IDC_PAGE, 54, 31, 48, 8, WC_ENTRYFIELD, ES_CENTER | ES_MARGIN | ES_AUTOSCROLL | WS_VISIBLE | WS_GROUP | WS_TABSTOP
    125125                PRESPARAMS PP_FONTNAMESIZE "9.WarpSans"
    126126                CONTROL "", IDC_PAGES, 106, 31, 52, 8, WC_STATIC, SS_TEXT | DT_LEFT | DT_TOP | DT_MNEMONIC | WS_VISIBLE | WS_GROUP
  • TabularUnified trunk/Lucide/gui/findDlg.cpp

    r450 r451  
    168168            centerWindow( _this->hFrame, hwnd );
    169169
    170             WinSendDlgItemMsg( hwnd, IDC_PAGE, SPBM_SETLIMITS,
    171                                MPFROMLONG( _this->pages ), MPFROMLONG( 1 ) );
    172             WinSendDlgItemMsg( hwnd, IDC_PAGE, SPBM_SETCURRENTVALUE,
    173                                MPFROMLONG( _this->curpage ), MPVOID );
     170            char pgnum[ 32 ];
     171
     172            // set current page
     173            snprintf(pgnum, sizeof(pgnum), "%d", _this->curpage);
     174            WinSetDlgItemText(hwnd, IDC_PAGE, pgnum);
     175
     176            // set of pages
    174177            char *pgfrm = newstrdupL( GTP_OF );
    175             char pgnum[ 32 ];
    176178            snprintf( pgnum, sizeof( pgnum ), pgfrm, _this->pages );
    177179            delete pgfrm;
    178180            WinSetDlgItemText( hwnd, IDC_PAGES, pgnum );
     181
     182            // highlight the text
     183            WinSendDlgItemMsg( hwnd, IDC_PAGE, EM_SETSEL,
     184                                      MPFROM2SHORT(0, 256), NULL);
     185
    179186            return (MRESULT)FALSE;
    180187        }
    181 
    182         case WM_CONTROL:
    183         // @todo highlight the text in the spinbutton (should work but looks like its not)
    184         WinSendDlgItemMsg( hwnd, IDC_PAGE, EM_SETSEL,
    185                                       MPFROM2SHORT(0, 256), NULL);
    186         return (MRESULT)FALSE;
    187188
    188189        case WM_COMMAND:
     
    191192                case DID_OK:
    192193                    {
    193                         LONG spbmValue = 0;
    194                         BOOL rc = (BOOL)WinSendDlgItemMsg( hwnd, IDC_PAGE, SPBM_QUERYVALUE,
    195                                             MPFROMP( &spbmValue ),
    196                                             MPFROM2SHORT( 0, SPBQ_UPDATEIFVALID ) );
    197 
    198                         if ( rc && ( spbmValue > 0 ) ) {
    199                             _this->page = spbmValue;
     194                        char szText[256];
     195                        LONG newPage = 0;
     196                        ULONG retLen = 0;
     197                        retLen = WinQueryDlgItemText( hwnd, IDC_PAGE, sizeof(szText),
     198                                            szText );
     199
     200                        if ( retLen > 0) {
     201                                newPage = atol(szText);
     202                                if (newPage > 0 && newPage <= _this->pages) {
     203                                    _this->page = newPage;
     204                                }
    200205                        }
    201206                        WinDismissDlg( hwnd, DID_OK );
  • TabularUnified trunk/Lucide/gui/lucide.cpp

    r450 r451  
    213213void Lucide::setOfPages( long pages )
    214214{
     215    char pgnum[ 32 ];
     216
     217    // set current page
     218    snprintf(pgnum, sizeof(pgnum), "%i", pages >0 ? 1:0);
     219    WinSetDlgItemText(hToolBar, TBID_PAGENUM, pgnum);
     220
     221    // set of pages
    215222    char *pgfrm = newstrdupL( TB_PAGENUM );
    216     char pgnum[ 32 ];
    217223    snprintf( pgnum, sizeof( pgnum ), pgfrm, pages );
    218224    delete pgfrm;
    219225    WinSetDlgItemText( hToolBar, TBID_OFPAGES, pgnum );
    220 
    221     // if pages are 0 also set limits to 0
    222     long pageLimit = (pages >= 1 ? 1:0);
    223     WinSendDlgItemMsg( hToolBar, TBID_PAGENUM, SPBM_SETLIMITS,
    224                        MPFROMLONG( pages ), MPFROMLONG( pageLimit ) );
    225226}
    226227
     
    241242    bool tmp = dontSwitchPage;
    242243    dontSwitchPage = true;
    243     WinSendDlgItemMsg( hToolBar, TBID_PAGENUM, SPBM_SETCURRENTVALUE,
    244                        MPFROMLONG( docViewer->getCurrentPage() + 1 ), MPVOID );
     244    char pgnum[32];
     245    snprintf(pgnum, sizeof(pgnum), "%i", docViewer->getCurrentPage() + 1);
     246    WinSetDlgItemText(hToolBar, TBID_PAGENUM, pgnum);
    245247    dontSwitchPage = tmp;
    246248    indexWin->goToPage( NULL, docViewer->getCurrentPage() );
     
    397399    if ( docViewer != NULL ) {
    398400        docViewer->goToPage( page );
     401    }
     402}
     403
     404long Lucide::pageCount( void )
     405{
     406    if ( doc != NULL ) {
     407        return doc->getPageCount( ev );
     408    } else {
     409        return 0;
    399410    }
    400411}
  • TabularUnified trunk/Lucide/gui/lucide.h

    r399 r451  
    107107        static void checkNavpane();
    108108        static void goToPage( long page );
     109        static long pageCount();
    109110        static void setZoom( double zoom );
    110111        static void toggleZoom();
  • TabularUnified trunk/Lucide/gui/toolbar.cpp

    r450 r451  
    6161                SHORT notifyCode = SHORT2FROMMP( mp1 );
    6262
    63                 if ( ( controlId == TBID_PAGENUM ) && ( notifyCode == SPBN_CHANGE )
     63                if ( ( controlId == TBID_PAGENUM ) && ( notifyCode == EN_CHANGE )
    6464                     && !Lucide::dontSwitchPage )
    6565                {
    66                     LONG spbmValue = 0;
    67                     BOOL rc = (BOOL)WinSendDlgItemMsg( hwnd, TBID_PAGENUM, SPBM_QUERYVALUE,
    68                                        MPFROMP( &spbmValue ),
    69                                        MPFROM2SHORT( 0, SPBQ_UPDATEIFVALID ) );
    70 
    71                     if ( rc && ( spbmValue > 0 ) ) {
    72                         Lucide::goToPage( spbmValue - 1 );
    73                     }
     66                        char szText[256];
     67                        LONG newPage = 0;
     68                        ULONG retLen = 0;
     69                        retLen = WinQueryDlgItemText( hwnd, TBID_PAGENUM, sizeof(szText),
     70                                            szText );
     71
     72                        if ( retLen > 0) {
     73                                newPage = atol(szText);
     74                                if (newPage > 0 && newPage <= Lucide::pageCount()) {
     75                                    Lucide::goToPage(newPage - 1);
     76                                }
     77                        }
    7478                }
    7579
    76                 if ( ( controlId == TBID_PAGENUM ) && ( notifyCode == SPBN_SETFOCUS )
     80                if ( ( controlId == TBID_PAGENUM ) && ( notifyCode == EN_SETFOCUS )
    7781                     && !Lucide::dontSwitchPage )
    7882                {
    79                 // @todo highlight the text in the spinbutton (should work but looks like its not)
    80                    BOOL rc = (BOOL)WinSendDlgItemMsg( hwnd, TBID_PAGENUM, EM_SETSEL,
    81                                       MPFROM2SHORT(0,256), NULL);
     83                // highlight the text
     84                WinSendDlgItemMsg( hwnd, TBID_PAGENUM, EM_SETSEL,
     85                                      MPFROM2SHORT(0, 256), NULL);
    8286                }
    8387
     
    226230    WinSendMsg( hToolBar, TBM_ADDBUTTON, (MPARAM)&bs, MPVOID );
    227231
    228     // pages spin
     232    // pages text
    229233    AddCtrlStruct cs;
    230     cs.ctrlHandle = WinCreateWindow( hToolBar, WC_SPINBUTTON, NULL,
    231                                      WS_VISIBLE|SPBS_MASTER|SPBS_NUMERICONLY|SPBS_JUSTCENTER,
     234    cs.ctrlHandle = WinCreateWindow( hToolBar, WC_ENTRYFIELD, NULL,
     235                                     WS_VISIBLE|ES_CENTER|ES_MARGIN|ES_AUTOSCROLL,
    232236                                     0,0,0,0, hToolBar, HWND_TOP, TBID_PAGENUM, NULL, NULL );
    233     WinSendMsg( cs.ctrlHandle, SPBM_SETLIMITS, MPFROMLONG( 0 ), MPFROMLONG( 0 ) );
    234237    WinSetPresParam( cs.ctrlHandle, PP_FONTNAMESIZE, deffontlen, deffont );
    235     cs.cx = 75;
     238    cs.cx = 50;
    236239    cs.cy = 0;
    237240    cs.bubbleText = NULL;
  • TabularUnified trunk/Lucide/lng/Lucide_de.lng

    r450 r451  
    11#
    2 # Lucide language file, DE (1.3.1)
     2# Lucide language file, DE (1.3.3)
    33#
    44
Note: See TracChangeset for help on using the changeset viewer.