Hi

Attaching a patch which fixes some problems with the Fonts.
I also, temporary disabled the Insert Symbol dialog, and all non 
scalable font, ie, the symbol font.
The rest is simply renaming a few functions that have changed name in 
QNX 6.1 and hadn't been updated in the source.
oh yeah, fixed the asserts in refreshtoolbar that Patrick mentioned.

/Johan

Index: af/ev/qnx/ev_QNXToolbar.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/ev/qnx/ev_QNXToolbar.cpp,v
retrieving revision 1.23
diff -u -r1.23 ev_QNXToolbar.cpp
--- af/ev/qnx/ev_QNXToolbar.cpp 28 Mar 2002 08:17:40 -0000      1.23
+++ af/ev/qnx/ev_QNXToolbar.cpp 28 Mar 2002 14:36:34 -0000
@@ -607,6 +607,24 @@
                                }
                                break;
 
+
+                               case EV_TBIT_ColorFore:
+                               case EV_TBIT_ColorBack:
+                               {
+                                       bool bGrayed = EV_TIS_ShouldBeGray(tis);
+
+                                       tcb = (struct _cb_data *) 
+m_vecToolbarWidgets.getNthItem(k);
+                                       UT_ASSERT(tcb);
+                                       PtWidget_t *item;
+                                       item = tcb->m_widget;
+                                       UT_ASSERT(item);
+                                               
+                                       // Disable/enable toolbar item
+                                       PtSetArg(&args[n++], Pt_ARG_FLAGS, 
+                                                        (bGrayed) ? (Pt_BLOCKED | 
+Pt_GHOST) : Pt_SELECTABLE, 
+                                                        Pt_BLOCKED | Pt_GHOST | 
+Pt_SELECTABLE);
+                                       PtSetResources(tcb->m_widget, n, args);
+                               }break;
                                case EV_TBIT_StaticLabel:
                                        break;
                                case EV_TBIT_Spacer:
Index: af/gr/qnx/gr_QNXGraphics.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/gr/qnx/gr_QNXGraphics.cpp,v
retrieving revision 1.42
diff -u -r1.42 gr_QNXGraphics.cpp
--- af/gr/qnx/gr_QNXGraphics.cpp        26 Mar 2002 08:05:54 -0000      1.42
+++ af/gr/qnx/gr_QNXGraphics.cpp        28 Mar 2002 14:36:35 -0000
@@ -262,36 +262,33 @@
 {
        PhRect_t rect;
        const char *font;
-       char     buffer[MB_CUR_MAX + 1];
        int      len, indices, penpos;
+       UT_UCSChar buffer[1];
 
-       if (!m_pFont || !(font = m_pFont->getFont())) {
+       buffer[0]=c;
+if (!m_pFont || !(font = m_pFont->getFont())) {
                return 0;
        }
 
-       len = wctomb(buffer, c);
-       UT_ASSERT(len > 0);
-       buffer[len] = '\0';
        indices = 1;                    
        penpos = 0;                     
-
 /*
        printf("wide character %d (0x%x) [%c] in %s ==\n", c, c, (char)c, font);
        printf("multi byte char 0x%x 0x%x 0x%x 0x%x (%d) \n", buffer[0], buffer[1], 
buffer[2], buffer[3], len);
 */
        PfExtentTextCharPositions(&rect,                /* Rect extent */
                                  NULL,                 /* Position offset */
-                                 buffer,               /* Buffer to hit */
+                                 (char*)buffer,                /* Buffer to hit */
                                  font,                 /* Font buffer uses */
                                  &indices,             /* Where to get pen pos from */
                                  &penpos,              /* Where to store pen pos */
                                  1,                    /* Number of indices */
-                                 0,            /* Flags TODO: PF_WIDE_CHARS and save 
convert? */
-                                 len,                  /* Length of buffer (0 = use 
strlen) */
+                                 PF_WIDE_CHARS,                /* Flags */
+                                 0,                    /* Length of buffer (0 = use 
+strlen) */
                                  0,                    /* Number of characters to 
skip */
                                  NULL);                /* Clipping rectangle? */
 /*
-       printf("gives width %d \n", penpos);
+       printf("gives width %d and char = 0x%x\n", penpos,c);
 */
        
        return penpos;
@@ -409,18 +406,18 @@
 
 UT_uint32 GR_QNXGraphics::getFontAscent()
 {
-       if(m_iAscentCache == -1) {
+//     if(m_iAscentCache == -1) {
                m_iAscentCache = getFontAscent(m_pFont);
-       }
+//     }
 
        return m_iAscentCache;
 }
 
 UT_uint32 GR_QNXGraphics::getFontDescent()
 {
-       if (m_iDescentCache == -1) {
+//     if (m_iDescentCache == -1) {
                m_iDescentCache = getFontDescent(m_pFont);
-       }
+//     }
 
        return m_iDescentCache;
 }
@@ -438,7 +435,7 @@
                
        FontQueryInfo info;
 
-       if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+       if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
                UT_ASSERT(0);
                return(0);
        }
@@ -453,7 +450,7 @@
                
        FontQueryInfo info;
 
-       if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+       if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
                UT_ASSERT(0);
                return(0);
        }
@@ -471,11 +468,11 @@
                
        FontQueryInfo info;
 
-       if (PfQueryFont(pQNXFont->getFont(), &info) == -1) {
+       if (PfQueryFontInfo(pQNXFont->getFont(), &info) == -1) {
                UT_ASSERT(0);
                return(0);
        }
-
+       if(strcmp(pQNXFont->getFont(),info.font) != 0)
        return MY_ABS(info.descender) + MY_ABS(info.ascender);
 }
 
Index: af/xap/qnx/xap_QNXDlg_FontChooser.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/xap/qnx/xap_QNXDlg_FontChooser.cpp,v
retrieving revision 1.7
diff -u -r1.7 xap_QNXDlg_FontChooser.cpp
--- af/xap/qnx/xap_QNXDlg_FontChooser.cpp       6 Feb 2001 22:54:17 -0000       1.7
+++ af/xap/qnx/xap_QNXDlg_FontChooser.cpp       28 Mar 2002 14:36:35 -0000
@@ -85,7 +85,7 @@
                                                                          
pSS->getValue(XAP_STRING_ID_DLG_UFS_FontTitle),
                                                                          "helv10",    
         /* Initial font */
                                                                          -1,          
         /* Symbol to select fonts by */                                               
  
-                                                                         
PHFONT_ALL_FONTS, /* Which type of fonts */
+                                                                         
+PHFONT_SCALABLE, /* Which type of fonts */
                                                                          NULL);       
 /* Sample string */
 
        if (newfont) {
@@ -93,7 +93,7 @@
                char *s, *p, c;
 
                //NOTE: I could use PfQueryFont for all this information
-               PfQueryFont(newfont, &finfo);
+               PfQueryFontInfo(newfont, &finfo);
 
                //Split name[size][style] into pieces
                s = p = newfont;
Index: af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp,v
retrieving revision 1.11
diff -u -r1.11 xap_QNXDlg_Insert_Symbol.cpp
--- af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp     15 Jan 2001 11:33:38 -0000      1.11
+++ af/xap/qnx/xap_QNXDlg_Insert_Symbol.cpp     28 Mar 2002 14:36:35 -0000
@@ -213,6 +213,7 @@
 
 void XAP_QNXDialog_Insert_Symbol::runModeless(XAP_Frame * pFrame)
 {
+       #if 0
        unsigned short w, h;
 
        // First see if the dialog is already running
@@ -290,6 +291,8 @@
        UT_QNXCenterWindow(parentWindow, mainWindow);
        PtRealizeWidget(mainWindow);
        PgFlush();
+#endif 
+UT_ASSERT(0);
 }
 
 void XAP_QNXDialog_Insert_Symbol::event_OK(void)
Index: wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp,v
retrieving revision 1.4
diff -u -r1.4 ap_QNXToolbar_FontCombo.cpp
--- wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp       18 Jun 2001 12:56:06 -0000      1.4
+++ wp/ap/qnx/ap_QNXToolbar_FontCombo.cpp       28 Mar 2002 14:36:36 -0000
@@ -58,8 +58,8 @@
        // nothing to purge.  contents are static strings
 }
 
-#define FONT_QUERY_CHAR 'A'
-#define FONT_TYPES (PHFONT_SCALABLE | PHFONT_BITMAP | PHFONT_PROP  /* | 
PHFONT_FIXED*/)
+#define FONT_QUERY_CHAR PHFONT_ALL_SYMBOLS 
+#define FONT_TYPES (PHFONT_SCALABLE /*| PHFONT_BITMAP*/ | PHFONT_PROP  /* | 
+PHFONT_FIXED*/)
 bool AP_QNXToolbar_FontCombo::populate(void)
 {
        FontDetails *font_list;

Reply via email to