Tag: cws_dev300_dba31b
User: oj      
Date: 2008-08-14 06:00:56+0000
Modified:
   dba/dbaccess/source/ui/querydesign/ConnectionLine.cxx

Log:
 #i89456# use DrawPolyLine for better lines

File Changes:

Directory: /dba/dbaccess/source/ui/querydesign/
===============================================

File [changed]: ConnectionLine.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/querydesign/ConnectionLine.cxx?r1=1.14&r2=1.14.68.1
Delta lines:  +20 -30
---------------------
--- ConnectionLine.cxx  2008-04-10 16:14:36+0000        1.14
+++ ConnectionLine.cxx  2008-08-14 06:00:54+0000        1.14.68.1
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: ConnectionLine.cxx,v $
- * $Revision: 1.14 $
+ * $Revision: 1.14.68.1 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -54,6 +54,7 @@
 #ifndef _TOOLS_DEBUG_HXX
 #include <tools/debug.hxx>
 #endif
+#include <vcl/lineinfo.hxx>
 
 
 using namespace dbaui;
@@ -219,15 +220,17 @@
                aBottomRight.X() = m_aSourceDescrLinePos.X();
        }
 
+    const OTableWindow* pSourceWin = m_pTabConn->GetSourceWin();
+       const OTableWindow* pDestWin = m_pTabConn->GetDestWin();
        //////////////////////////////////////////////////////////////////////
        // Linie verlaeuft in z-Form
-       if( Abs(m_aSourceConnPos.X() - m_aDestConnPos.X()) > 
Abs(m_aSourceDescrLinePos.X() - m_aDestDescrLinePos.X()) )
+       if( pSourceWin == pDestWin || Abs(m_aSourceConnPos.X() - 
m_aDestConnPos.X()) > Abs(m_aSourceDescrLinePos.X() - m_aDestDescrLinePos.X()) )
        {
                aTopLeft.X() -= DESCRIPT_LINE_WIDTH;
                aBottomRight.X() += DESCRIPT_LINE_WIDTH;
        }
 
-       aBoundingRect = Rectangle( aTopLeft-Point(0,17), 
aBottomRight+Point(0,2) );
+       aBoundingRect = Rectangle( aTopLeft-Point(2,17), 
aBottomRight+Point(2,2) );
 
        return aBoundingRect;
 }
@@ -283,6 +286,9 @@
                pSecondDescrPos = &m_aDestDescrLinePos;
        }
 
+    if ( pFirstWin == pSecondWin )
+        calcPointX2(pFirstWin,*pFirstConPos,*pFirstDescrPos);
+    else
        calcPointX1(pFirstWin,*pFirstConPos,*pFirstDescrPos);
        calcPointX2(pSecondWin,*pSecondConPos,*pSecondDescrPos);
 
@@ -315,31 +321,15 @@
        else
                
pOutDev->SetLineColor(Application::GetSettings().GetStyleSettings().GetWindowTextColor());
 
-       pOutDev->DrawLine( m_aSourceDescrLinePos, m_aSourceConnPos );
-       pOutDev->DrawLine( m_aDestDescrLinePos, m_aDestConnPos );
-       pOutDev->DrawLine( m_aSourceConnPos, m_aDestConnPos );
-       // wenn die  Linie selektiert ist, sollte sie dicker erscheinen
-       // da OutputDevice nach meinem Wissen (das ich nur aus dem Headerfile 
habe) kein
-       // SetLineWidth (o.รค.) hat, ein Fake
-       if (m_pTabConn->IsSelected())
-       {
-               UINT16 xOffset, yOffset;
-               if (abs(m_aSourceConnPos.Y() - m_aDestConnPos.Y()) > 
abs(m_aSourceConnPos.X()-m_aDestConnPos.X()))
-               {
-                       xOffset = 1;
-                       yOffset = 0;
-               } else
-               {
-                       xOffset = 0;
-                       yOffset = 1;
-               }
-
-               Point aPos1(-xOffset, -yOffset);
-               Point aPos2(xOffset, yOffset);
-               pOutDev->DrawLine(m_aSourceConnPos + aPos1, m_aDestConnPos + 
aPos1);
-               pOutDev->DrawLine(m_aSourceConnPos + aPos2, m_aDestConnPos + 
aPos2);
-       }
-
+    LineInfo aLineInfo;
+    if ( m_pTabConn->IsSelected() )
+        aLineInfo.SetWidth(3);
+    Polygon aPoly;
+    aPoly.Insert(0,m_aSourceDescrLinePos);
+    aPoly.Insert(1,m_aSourceConnPos);
+    aPoly.Insert(2,m_aDestConnPos);
+    aPoly.Insert(3,m_aDestDescrLinePos);
+    pOutDev->DrawPolyLine(aPoly,aLineInfo);
 
        //////////////////////////////////////////////////////////////////////
        // draw the connection rectangles




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to