[Libreoffice-commits] core.git: extras/source include/svx svx/source svx/uiconfig svx/UIConfig_svx.mk

Szymon KÅ‚os eszkadev at gmail.com
Wed Jul 9 02:55:26 PDT 2014


 extras/source/glade/libreoffice-catalog.xml.in |    3 
 include/svx/imapdlg.hxx                        |   54 ++
 svx/UIConfig_svx.mk                            |    1 
 svx/source/dialog/imapdlg.cxx                  |  498 ++++++++++++-------------
 svx/source/dialog/imapdlg.hrc                  |   11 
 svx/source/dialog/imapdlg.src                  |  269 +------------
 svx/source/dialog/imapwnd.cxx                  |    4 
 svx/source/dialog/imapwnd.hxx                  |    2 
 svx/uiconfig/ui/imapdialog.ui                  |  436 +++++++++++++++++++++
 9 files changed, 771 insertions(+), 507 deletions(-)

New commits:
commit 4bbf35572d94efe8b321e3159e9810f52bc3f9f8
Author: Szymon KÅ‚os <eszkadev at gmail.com>
Date:   Mon Jul 7 11:24:48 2014 +0200

    RID_SVXDLG_IMAP conversion to .ui
    
    Change-Id: I6d0ecb693177436a47d1115cdab6d5ec20254f4f
    Reviewed-on: https://gerrit.libreoffice.org/10105
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index c7c93a1..04a311c 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -749,5 +749,8 @@
                         generic-name="Formula ListBox" parent="GtkTreeView"
                         icon-name="widget-gtk-treeview"/>
 
+    <glade-widget-class title="Statusbar" name="svxlo-StatusBar"
+                        generic-name="Statusbar" parent="GtkStatusbar"
+                        icon-name="widget-gtk-statusbar"/>
   </glade-widget-classes>
 </glade-catalog>
diff --git a/include/svx/imapdlg.hxx b/include/svx/imapdlg.hxx
index 7345c12..1ac0191 100644
--- a/include/svx/imapdlg.hxx
+++ b/include/svx/imapdlg.hxx
@@ -82,16 +82,52 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
     friend class IMapOwnData;
     friend class IMapWindow;
 
-    ToolBox             aTbxIMapDlg1;
-    FixedText           aFtURL;
-    SvtURLBox           maURLBox;
-    FixedText           aFtText;
-    Edit                aEdtText;
-    FixedText           maFtTarget;
-    ComboBox            maCbbTarget;
-    StatusBar           aStbStatus;
+    ToolBox             *m_pTbxIMapDlg1;
+    FixedText           *m_pFtURL;
+    SvtURLBox           *m_pURLBox;
+    FixedText           *m_pFtText;
+    Edit                *m_pEdtText;
+    FixedText           *m_pFtTarget;
+    ComboBox            *m_pCbbTarget;
+    StatusBar           *m_pStbStatus;
     ImageList           maImageList;
 
+    sal_uInt16          mnApplyId;
+    sal_uInt16          mnOpenId;
+    sal_uInt16          mnSaveAsId;
+    sal_uInt16          mnSelectId;
+    sal_uInt16          mnRectId;
+    sal_uInt16          mnCircleId;
+    sal_uInt16          mnPolyId;
+    sal_uInt16          mnFreePolyId;
+    sal_uInt16          mnPolyEditId;
+    sal_uInt16          mnPolyMoveId;
+    sal_uInt16          mnPolyInsertId;
+    sal_uInt16          mnPolyDeleteId;
+    sal_uInt16          mnUndoId;
+    sal_uInt16          mnRedoId;
+    sal_uInt16          mnActiveId;
+    sal_uInt16          mnMacroId;
+    sal_uInt16          mnPropertyId;
+
+    Image               maApplyImg;
+    Image               maOpenImg;
+    Image               maSaveAsImg;
+    Image               maSelectImg;
+    Image               maRectImg;
+    Image               maCircleImg;
+    Image               maPolyImg;
+    Image               maFreePolyImg;
+    Image               maPolyEditImg;
+    Image               maPolyMoveImg;
+    Image               maPolyInsertImg;
+    Image               maPolyDeleteImg;
+    Image               maUndoImg;
+    Image               maRedoImg;
+    Image               maActiveImg;
+    Image               maMacroImg;
+    Image               maPropertyImg;
+
     Size                aLastSize;
     IMapWindow*         pIMapWnd;
     IMapOwnData*        pOwnData;
@@ -118,7 +154,7 @@ class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow
 public:
 
                         SvxIMapDlg( SfxBindings *pBindings, SfxChildWindow *pCW,
-                                    Window* pParent, const ResId& rResId );
+                                    Window* pParent );
                         virtual ~SvxIMapDlg();
 
     void                SetExecState( bool bEnable );
diff --git a/svx/UIConfig_svx.mk b/svx/UIConfig_svx.mk
index 30eda49..fdb41e9 100644
--- a/svx/UIConfig_svx.mk
+++ b/svx/UIConfig_svx.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_UIConfig_add_uifiles,svx,\
 	svx/uiconfig/ui/fontworkgallerydialog \
 	svx/uiconfig/ui/fontworkspacingdialog \
 	svx/uiconfig/ui/headfootformatpage \
+	svx/uiconfig/ui/imapdialog \
 	svx/uiconfig/ui/linkwarndialog \
 	svx/uiconfig/ui/namespacedialog \
 	svx/uiconfig/ui/optgridpage \
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index 4b6fa84..c153103 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -101,7 +101,7 @@ SvxIMapDlgChildWindow::SvxIMapDlgChildWindow( Window* _pParent, sal_uInt16 nId,
                                               SfxChildWinInfo* pInfo ) :
             SfxChildWindow( _pParent, nId )
 {
-    pWindow = new SvxIMapDlg( pBindings, this, _pParent, SVX_RES( RID_SVXDLG_IMAP ) );
+    pWindow = new SvxIMapDlg( pBindings, this, _pParent );
     SvxIMapDlg* pDlg = (SvxIMapDlg*) pWindow;
 
     if ( pInfo->nFlags & SFX_CHILDWIN_ZOOMIN )
@@ -120,28 +120,74 @@ void SvxIMapDlgChildWindow::UpdateIMapDlg( const Graphic& rGraphic, const ImageM
         SVXIMAPDLG()->UpdateLink( rGraphic, pImageMap, pTargetList, pEditingObj );
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeStatusBar(Window *pParent, VclBuilder::stringmap &)
+{
+    return new StatusBar(pParent);
+}
+
 SvxIMapDlg::SvxIMapDlg( SfxBindings *_pBindings, SfxChildWindow *pCW,
-                        Window* _pParent, const ResId& rResId ) :
-        SfxModelessDialog   ( _pBindings, pCW, _pParent, rResId ),
-
-        aTbxIMapDlg1        ( this, SVX_RES( TBX_IMAPDLG1 ) ),
-        aFtURL              ( this, SVX_RES( FT_URL ) ),
-        maURLBox            ( this, SVX_RES( CBB_URL ) ),
-        aFtText             ( this, SVX_RES( FT_TEXT ) ),
-        aEdtText            ( this, SVX_RES( EDT_TEXT ) ),
-        maFtTarget          ( this, SVX_RES( RID_SVXCTL_FT_TARGET ) ),
-        maCbbTarget         ( this, SVX_RES( RID_SVXCTL_CBB_TARGET ) ),
-        aStbStatus          ( this, WB_BORDER | WB_3DLOOK | WB_LEFT ),
+                        Window* _pParent ) :
+        SfxModelessDialog   ( _pBindings, pCW, _pParent, "ImapDialog", "svx/ui/imapdialog.ui" ),
         maImageList         ( SVX_RES( IL_IMAPDLG ) ),
         pCheckObj           ( NULL ),
         aIMapItem           ( SID_IMAP_EXEC, *this, *_pBindings )
 {
-    pIMapWnd = new IMapWindow( this, SVX_RES( RID_SVXCTL_IMAP ), _pBindings->GetActiveFrame() );
+    get(m_pTbxIMapDlg1, "toolbar");
+    m_pTbxIMapDlg1->InsertSeparator(3, 5);
+    m_pTbxIMapDlg1->InsertSeparator(9, 5);
+    m_pTbxIMapDlg1->InsertSeparator(14, 5);
+    m_pTbxIMapDlg1->InsertSeparator(17, 5);
+
+    mnApplyId = m_pTbxIMapDlg1->GetItemId("TBI_APPLY");
+    mnOpenId = m_pTbxIMapDlg1->GetItemId("TBI_OPEN");
+    mnSaveAsId = m_pTbxIMapDlg1->GetItemId("TBI_SAVEAS");
+    mnSelectId = m_pTbxIMapDlg1->GetItemId("TBI_SELECT");
+    mnRectId = m_pTbxIMapDlg1->GetItemId("TBI_RECT");
+    mnCircleId = m_pTbxIMapDlg1->GetItemId("TBI_CIRCLE");
+    mnPolyId = m_pTbxIMapDlg1->GetItemId("TBI_POLY");
+    mnFreePolyId = m_pTbxIMapDlg1->GetItemId("TBI_FREEPOLY");
+    mnPolyEditId = m_pTbxIMapDlg1->GetItemId("TBI_POLYEDIT");
+    mnPolyMoveId = m_pTbxIMapDlg1->GetItemId("TBI_POLYMOVE");
+    mnPolyInsertId = m_pTbxIMapDlg1->GetItemId("TBI_POLYINSERT");
+    mnPolyDeleteId = m_pTbxIMapDlg1->GetItemId("TBI_POLYDELETE");
+    mnUndoId = m_pTbxIMapDlg1->GetItemId("TBI_UNDO");
+    mnRedoId = m_pTbxIMapDlg1->GetItemId("TBI_REDO");
+    mnActiveId = m_pTbxIMapDlg1->GetItemId("TBI_ACTIVE");
+    mnMacroId = m_pTbxIMapDlg1->GetItemId("TBI_MACRO");
+    mnPropertyId = m_pTbxIMapDlg1->GetItemId("TBI_PROPERTY");
+
+    maApplyImg = maImageList.GetImage(TBI_APPLY);
+    maOpenImg = maImageList.GetImage(TBI_OPEN);
+    maSaveAsImg = maImageList.GetImage(TBI_SAVEAS);
+    maSelectImg = maImageList.GetImage(TBI_SELECT);
+    maRectImg = maImageList.GetImage(TBI_RECT);
+    maCircleImg = maImageList.GetImage(TBI_CIRCLE);
+    maPolyImg = maImageList.GetImage(TBI_POLY);
+    maFreePolyImg = maImageList.GetImage(TBI_FREEPOLY);
+    maPolyEditImg = maImageList.GetImage(TBI_POLYEDIT);
+    maPolyMoveImg = maImageList.GetImage(TBI_POLYMOVE);
+    maPolyInsertImg = maImageList.GetImage(TBI_POLYINSERT);
+    maPolyDeleteImg = maImageList.GetImage(TBI_POLYDELETE);
+    maUndoImg = maImageList.GetImage(TBI_UNDO);
+    maRedoImg = maImageList.GetImage(TBI_REDO);
+    maActiveImg = maImageList.GetImage(TBI_ACTIVE);
+    maMacroImg = maImageList.GetImage(TBI_MACRO);
+    maPropertyImg = maImageList.GetImage(TBI_PROPERTY);
+
+    get(m_pFtURL, "urlft");
+    get(m_pURLBox, "url");
+    get(m_pFtText, "textft");
+    get(m_pEdtText, "text");
+    get(m_pFtTarget, "targetft");
+    get(m_pCbbTarget, "target");
+    get(m_pStbStatus, "statusbar");
+
+    VclVBox* _pContainer = get<VclVBox>("container");
+    pIMapWnd = new IMapWindow( _pContainer, WB_BORDER, _pBindings->GetActiveFrame() );
+    pIMapWnd->Show();
 
     ApplyImageList();
 
-    FreeResource();
-
     pOwnData = new IMapOwnData;
 
     pIMapWnd->SetInfoLink( LINK( this, SvxIMapDlg, InfoHdl ) );
@@ -149,43 +195,39 @@ SvxIMapDlg::SvxIMapDlg( SfxBindings *_pBindings, SfxChildWindow *pCW,
     pIMapWnd->SetGraphSizeLink( LINK( this, SvxIMapDlg, GraphSizeHdl ) );
     pIMapWnd->SetUpdateLink( LINK( this, SvxIMapDlg, StateHdl ) );
 
-    maURLBox.SetModifyHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
-    maURLBox.SetSelectHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
-    maURLBox.SetLoseFocusHdl( LINK( this, SvxIMapDlg, URLLoseFocusHdl ) );
-    aEdtText.SetModifyHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
-    maCbbTarget.SetLoseFocusHdl( LINK( this, SvxIMapDlg, URLLoseFocusHdl ) );
+    m_pURLBox->SetModifyHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
+    m_pURLBox->SetSelectHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
+    m_pURLBox->SetLoseFocusHdl( LINK( this, SvxIMapDlg, URLLoseFocusHdl ) );
+    m_pEdtText->SetModifyHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) );
+    m_pCbbTarget->SetLoseFocusHdl( LINK( this, SvxIMapDlg, URLLoseFocusHdl ) );
 
        SvtMiscOptions aMiscOptions;
     aMiscOptions.AddListenerLink( LINK( this, SvxIMapDlg, MiscHdl ) );
 
-    aTbxIMapDlg1.SetOutStyle( aMiscOptions.GetToolboxStyle() );
-    aTbxIMapDlg1.SetSizePixel( aTbxIMapDlg1.CalcWindowSizePixel() );
-    aTbxIMapDlg1.SetSelectHdl( LINK( this, SvxIMapDlg, TbxClickHdl ) );
-    aTbxIMapDlg1.CheckItem( TBI_SELECT, true );
-    TbxClickHdl( &aTbxIMapDlg1 );
+    m_pTbxIMapDlg1->SetSelectHdl( LINK( this, SvxIMapDlg, TbxClickHdl ) );
+    m_pTbxIMapDlg1->CheckItem( mnSelectId, true );
+    TbxClickHdl( m_pTbxIMapDlg1 );
 
     SetMinOutputSizePixel( aLastSize = GetOutputSizePixel() );
 
-    aStbStatus.InsertItem( 1, 130, SIB_LEFT | SIB_IN | SIB_AUTOSIZE );
-    aStbStatus.InsertItem( 2, 10 + GetTextWidth( OUString(" 9999,99 cm / 9999,99 cm ") ), SIB_CENTER | SIB_IN );
-    aStbStatus.InsertItem( 3, 10 + GetTextWidth( OUString(" 9999,99 cm x 9999,99 cm ") ), SIB_CENTER | SIB_IN );
+    m_pStbStatus->InsertItem( 1, 130, SIB_LEFT | SIB_IN | SIB_AUTOSIZE );
+    m_pStbStatus->InsertItem( 2, 10 + GetTextWidth( OUString(" 9999,99 cm / 9999,99 cm ") ), SIB_CENTER | SIB_IN );
+    m_pStbStatus->InsertItem( 3, 10 + GetTextWidth( OUString(" 9999,99 cm x 9999,99 cm ") ), SIB_CENTER | SIB_IN );
 
-    aFtURL.Disable();
-    maURLBox.Disable();
-    aFtText.Disable();
-    aEdtText.Disable();
-    maFtTarget.Disable();
-    maCbbTarget.Disable();
+    m_pFtURL->Disable();
+    m_pURLBox->Disable();
+    m_pFtText->Disable();
+    m_pEdtText->Disable();
+    m_pFtTarget->Disable();
+    m_pCbbTarget->Disable();
     pOwnData->bExecState = false;
 
-    Resize();
-
     pOwnData->aTimer.SetTimeout( 100 );
     pOwnData->aTimer.SetTimeoutHdl( LINK( this, SvxIMapDlg, UpdateHdl ) );
 
-    aTbxIMapDlg1.EnableItem( TBI_ACTIVE, false );
-    aTbxIMapDlg1.EnableItem( TBI_MACRO, false );
-    aTbxIMapDlg1.EnableItem( TBI_PROPERTY, false );
+    m_pTbxIMapDlg1->EnableItem( mnActiveId, false );
+    m_pTbxIMapDlg1->EnableItem( mnMacroId, false );
+    m_pTbxIMapDlg1->EnableItem( mnPropertyId, false );
 }
 
 SvxIMapDlg::~SvxIMapDlg()
@@ -197,23 +239,22 @@ SvxIMapDlg::~SvxIMapDlg()
 
 void SvxIMapDlg::Resize()
 {
-    SfxModelessDialog::Resize();
-
     Size aMinSize( GetMinOutputSizePixel() );
     Size aNewSize( GetOutputSizePixel() );
 
     if ( aNewSize.Height() >= aMinSize.Height() )
     {
-        Size    _aSize( aStbStatus.GetSizePixel() );
-        Point   aPoint( 0, aNewSize.Height() - _aSize.Height() );
+        VclVBox *_pMainBox = get<VclVBox>("mainbox");
+        _pMainBox->SetSizePixel( aNewSize );
 
-        // Position the StatusBar
-        aStbStatus.SetPosSizePixel( aPoint, Size( aNewSize.Width(), _aSize.Height() ) );
-        aStbStatus.Show();
+        Size    _aSize( m_pStbStatus->GetSizePixel() );
+        Point   aPoint( 0, aNewSize.Height() - _aSize.Height() );
 
         // Position the EditWindow
-        _aSize.Width() = aNewSize.Width() - 18;
-        _aSize.Height() = aPoint.Y() - pIMapWnd->GetPosPixel().Y() - 6;
+        VclVBox *_pContainer = get<VclVBox>("container");
+        _aSize.Width() = aNewSize.Width() - 6;
+        _aSize.Height() = aPoint.Y() - _pContainer->GetPosPixel().Y() - 12;
+
         pIMapWnd->SetSizePixel( _aSize );
 
         aLastSize = aNewSize;
@@ -224,7 +265,7 @@ bool SvxIMapDlg::Close()
 {
     bool bRet = true;
 
-    if ( aTbxIMapDlg1.IsItemEnabled( TBI_APPLY ) )
+    if ( m_pTbxIMapDlg1->IsItemEnabled( mnApplyId ) )
     {
         MessageDialog aQBox( this,"QueryModifyImageMapChangesDialog","svx/ui/querymodifyimagemapchangesdialog.ui");
         const long  nRet = aQBox.Execute();
@@ -280,10 +321,10 @@ void SvxIMapDlg::SetTargetList( const TargetList& rTargetList )
 
     pIMapWnd->SetTargetList( aNewList );
 
-    maCbbTarget.Clear();
+    m_pCbbTarget->Clear();
 
     for ( size_t i = 0, n = aNewList.size(); i < n; ++i )
-        maCbbTarget.InsertEntry( aNewList[ i ] );
+        m_pCbbTarget->InsertEntry( aNewList[ i ] );
 }
 
 void SvxIMapDlg::UpdateLink( const Graphic& rGraphic, const ImageMap* pImageMap,
@@ -328,138 +369,101 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, ToolBox*, pTbx )
 {
     sal_uInt16 nNewItemId = pTbx->GetCurItemId();
 
-    switch( pTbx->GetCurItemId() )
+    if(nNewItemId == mnApplyId)
     {
-        case( TBI_APPLY ):
-        {
-            URLLoseFocusHdl( NULL );
-            SfxBoolItem aBoolItem( SID_IMAP_EXEC, true );
-            GetBindings().GetDispatcher()->Execute(
-                SID_IMAP_EXEC, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, &aBoolItem, 0L );
-        }
-        break;
-
-        case( TBI_OPEN ):
-            DoOpen();
-        break;
-
-        case( TBI_SAVEAS ):
+        URLLoseFocusHdl( NULL );
+        SfxBoolItem aBoolItem( SID_IMAP_EXEC, true );
+        GetBindings().GetDispatcher()->Execute(
+            SID_IMAP_EXEC, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, &aBoolItem, 0L );
+    }
+    else if(nNewItemId == mnOpenId)
+        DoOpen();
+    else if(nNewItemId == mnSaveAsId)
             DoSave();
-        break;
-
-        case( TBI_SELECT ):
-        {
-            pTbx->CheckItem( nNewItemId, true );
-            pIMapWnd->SetEditMode( true );
-            if( pTbx->IsKeyEvent() )
-            {
-                if((pTbx->GetKeyModifier() & KEY_MOD1) != 0)
-                    pIMapWnd->SelectFirstObject();
-                else
-                    pIMapWnd->GrabFocus();
-            }
-        }
-        break;
-
-        case( TBI_RECT ):
-        {
-            pTbx->CheckItem( nNewItemId, true );
-            pIMapWnd->SetObjKind( OBJ_RECT );
-            if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
-            {
-                pIMapWnd->CreateDefaultObject();
-                pIMapWnd->GrabFocus();
-            }
-        }
-        break;
-
-        case( TBI_CIRCLE ):
-        {
-            pTbx->CheckItem( nNewItemId, true );
-            pIMapWnd->SetObjKind( OBJ_CIRC );
-            if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
-            {
-                pIMapWnd->CreateDefaultObject();
-                pIMapWnd->GrabFocus();
-            }
-        }
-        break;
-
-        case( TBI_POLY ):
+    else if(nNewItemId == mnSelectId)
+    {
+        pTbx->CheckItem( nNewItemId, true );
+        pIMapWnd->SetEditMode( true );
+        if( pTbx->IsKeyEvent() )
         {
-            pTbx->CheckItem( nNewItemId, true );
-            pIMapWnd->SetObjKind( OBJ_POLY );
-            if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
-            {
-                pIMapWnd->CreateDefaultObject();
+            if((pTbx->GetKeyModifier() & KEY_MOD1) != 0)
+                pIMapWnd->SelectFirstObject();
+            else
                 pIMapWnd->GrabFocus();
-            }
         }
-        break;
-
-        case( TBI_FREEPOLY ):
+    }
+    else if(nNewItemId == mnRectId)
+    {
+        pTbx->CheckItem( nNewItemId, true );
+        pIMapWnd->SetObjKind( OBJ_RECT );
+        if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
         {
-            pTbx->CheckItem( nNewItemId, true );
-            pIMapWnd->SetObjKind( OBJ_FREEFILL );
-            if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
-            {
-                pIMapWnd->CreateDefaultObject();
-                pIMapWnd->GrabFocus();
-            }
+            pIMapWnd->CreateDefaultObject();
+            pIMapWnd->GrabFocus();
         }
-        break;
-
-        case( TBI_ACTIVE ):
+    }
+    else if(nNewItemId == mnCircleId)
+    {
+        pTbx->CheckItem( nNewItemId, true );
+        pIMapWnd->SetObjKind( OBJ_CIRC );
+        if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
         {
-            URLLoseFocusHdl( NULL );
-            bool bNewState = !pTbx->IsItemChecked( TBI_ACTIVE );
-            pTbx->CheckItem( TBI_ACTIVE, bNewState );
-            pIMapWnd->SetCurrentObjState( !bNewState );
+            pIMapWnd->CreateDefaultObject();
+            pIMapWnd->GrabFocus();
         }
-        break;
-
-        case( TBI_MACRO ):
-            pIMapWnd->DoMacroAssign();
-        break;
-
-        case( TBI_PROPERTY ):
-            pIMapWnd->DoPropertyDialog();
-        break;
-
-        case( TBI_POLYEDIT ):
-            pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 );
-            if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) )
-                pIMapWnd->StartPolyEdit();
-        break;
-
-        case( TBI_POLYMOVE ):
-            pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE );
-        break;
-
-        case( TBI_POLYINSERT ):
-            pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT );
-        break;
-
-        case( TBI_POLYDELETE ):
-            pIMapWnd->GetSdrView()->DeleteMarkedPoints();
-        break;
-
-        case( TBI_UNDO ):
+    }
+    else if(nNewItemId == mnPolyId)
+    {
+        pTbx->CheckItem( nNewItemId, true );
+        pIMapWnd->SetObjKind( OBJ_POLY );
+        if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
         {
-            URLLoseFocusHdl( NULL );
-            pIMapWnd->GetSdrModel()->Undo();
+            pIMapWnd->CreateDefaultObject();
+            pIMapWnd->GrabFocus();
         }
-        break;
-
-        case( TBI_REDO ):
+    }
+    else if(nNewItemId == mnFreePolyId)
+    {
+        pTbx->CheckItem( nNewItemId, true );
+        pIMapWnd->SetObjKind( OBJ_FREEFILL );
+        if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
         {
-            URLLoseFocusHdl( NULL );
-            pIMapWnd->GetSdrModel()->Redo();
+            pIMapWnd->CreateDefaultObject();
+            pIMapWnd->GrabFocus();
         }
-        break;
-
-        default:
-        break;
+    }
+    else if(nNewItemId == mnActiveId)
+    {
+        URLLoseFocusHdl( NULL );
+        bool bNewState = !pTbx->IsItemChecked( TBI_ACTIVE );
+        pTbx->CheckItem( TBI_ACTIVE, bNewState );
+        pIMapWnd->SetCurrentObjState( !bNewState );
+    }
+    else if(nNewItemId == mnMacroId)
+        pIMapWnd->DoMacroAssign();
+    else if(nNewItemId == mnPropertyId)
+        pIMapWnd->DoPropertyDialog();
+    else if(nNewItemId == mnPolyEditId)
+    {
+        pIMapWnd->SetPolyEditMode( pTbx->IsItemChecked( TBI_POLYEDIT ) ? SID_BEZIER_MOVE : 0 );
+        if( pTbx->IsKeyEvent() && pTbx->IsItemChecked( TBI_POLYEDIT ) )
+            pIMapWnd->StartPolyEdit();
+    }
+    else if(nNewItemId == mnPolyMoveId)
+        pIMapWnd->SetPolyEditMode( SID_BEZIER_MOVE );
+    else if(nNewItemId == mnPolyInsertId)
+        pIMapWnd->SetPolyEditMode( SID_BEZIER_INSERT );
+    else if(nNewItemId == mnPolyDeleteId)
+        pIMapWnd->GetSdrView()->DeleteMarkedPoints();
+    else if(nNewItemId == mnUndoId)
+    {
+        URLLoseFocusHdl( NULL );
+        pIMapWnd->GetSdrModel()->Undo();
+    }
+    else if(nNewItemId == mnRedoId)
+    {
+        URLLoseFocusHdl( NULL );
+        pIMapWnd->GetSdrModel()->Redo();
     }
 
     return 0;
@@ -585,62 +589,62 @@ IMPL_LINK( SvxIMapDlg, InfoHdl, IMapWindow*, pWnd )
 
     if ( rInfo.bNewObj )
     {
-        if( !rInfo.aMarkURL.isEmpty() && ( maURLBox.GetEntryPos( rInfo.aMarkURL ) == LISTBOX_ENTRY_NOTFOUND ) )
-            maURLBox.InsertEntry( rInfo.aMarkURL );
+        if( !rInfo.aMarkURL.isEmpty() && ( m_pURLBox->GetEntryPos( rInfo.aMarkURL ) == LISTBOX_ENTRY_NOTFOUND ) )
+            m_pURLBox->InsertEntry( rInfo.aMarkURL );
 
-        maURLBox.SetText( rInfo.aMarkURL );
-        aEdtText.SetText( rInfo.aMarkAltText );
+        m_pURLBox->SetText( rInfo.aMarkURL );
+        m_pEdtText->SetText( rInfo.aMarkAltText );
 
         if ( rInfo.aMarkTarget.isEmpty() )
-            maCbbTarget.SetText( SELF_TARGET );
+            m_pCbbTarget->SetText( SELF_TARGET );
         else
-            maCbbTarget.SetText( rInfo.aMarkTarget );
+            m_pCbbTarget->SetText( rInfo.aMarkTarget );
     }
 
     if ( !rInfo.bOneMarked )
     {
-        aTbxIMapDlg1.CheckItem( TBI_ACTIVE, false );
-        aTbxIMapDlg1.EnableItem( TBI_ACTIVE, false );
-        aTbxIMapDlg1.EnableItem( TBI_MACRO, false );
-        aTbxIMapDlg1.EnableItem( TBI_PROPERTY, false );
-        aStbStatus.SetItemText( 1, aStr );
-
-        aFtURL.Disable();
-        maURLBox.Disable();
-        aFtText.Disable();
-        aEdtText.Disable();
-        maFtTarget.Disable();
-        maCbbTarget.Disable();
-
-        maURLBox.SetText( "" );
-        aEdtText.SetText( "" );
+        m_pTbxIMapDlg1->CheckItem( mnActiveId, false );
+        m_pTbxIMapDlg1->EnableItem( mnActiveId, false );
+        m_pTbxIMapDlg1->EnableItem( mnMacroId, false );
+        m_pTbxIMapDlg1->EnableItem( mnPropertyId, false );
+        m_pStbStatus->SetItemText( 1, aStr );
+
+        m_pFtURL->Disable();
+        m_pURLBox->Disable();
+        m_pFtText->Disable();
+        m_pEdtText->Disable();
+        m_pFtTarget->Disable();
+        m_pCbbTarget->Disable();
+
+        m_pURLBox->SetText( "" );
+        m_pEdtText->SetText( "" );
     }
     else
     {
-        aTbxIMapDlg1.EnableItem( TBI_ACTIVE, true );
-        aTbxIMapDlg1.CheckItem( TBI_ACTIVE, !rInfo.bActivated );
-        aTbxIMapDlg1.EnableItem( TBI_MACRO, true );
-        aTbxIMapDlg1.EnableItem( TBI_PROPERTY, true );
+        m_pTbxIMapDlg1->EnableItem( mnActiveId, true );
+        m_pTbxIMapDlg1->CheckItem( mnActiveId, !rInfo.bActivated );
+        m_pTbxIMapDlg1->EnableItem( mnMacroId, true );
+        m_pTbxIMapDlg1->EnableItem( mnPropertyId, true );
 
-        aFtURL.Enable();
-        maURLBox.Enable();
-        aFtText.Enable();
-        aEdtText.Enable();
-        maFtTarget.Enable();
-        maCbbTarget.Enable();
+        m_pFtURL->Enable();
+        m_pURLBox->Enable();
+        m_pFtText->Enable();
+        m_pEdtText->Enable();
+        m_pFtTarget->Enable();
+        m_pCbbTarget->Enable();
 
-        aStbStatus.SetItemText( 1, rInfo.aMarkURL );
+        m_pStbStatus->SetItemText( 1, rInfo.aMarkURL );
 
-        if ( maURLBox.GetText() != OUString(rInfo.aMarkURL) )
-            maURLBox.SetText( rInfo.aMarkURL );
+        if ( m_pURLBox->GetText() != OUString(rInfo.aMarkURL) )
+            m_pURLBox->SetText( rInfo.aMarkURL );
 
-        if ( aEdtText.GetText() != OUString(rInfo.aMarkAltText) )
-            aEdtText.SetText( rInfo.aMarkAltText );
+        if ( m_pEdtText->GetText() != OUString(rInfo.aMarkAltText) )
+            m_pEdtText->SetText( rInfo.aMarkAltText );
 
         if ( rInfo.aMarkTarget.isEmpty() )
-            maCbbTarget.SetText( SELF_TARGET );
+            m_pCbbTarget->SetText( SELF_TARGET );
         else
-            maCbbTarget.SetText(  rInfo.aMarkTarget );
+            m_pCbbTarget->SetText(  rInfo.aMarkTarget );
     }
 
     return 0;
@@ -656,7 +660,7 @@ IMPL_LINK( SvxIMapDlg, MousePosHdl, IMapWindow*, pWnd )
     OUString aStr = GetUnitString( rMousePos.X(), eFieldUnit, cSep ) +
                     " / " + GetUnitString( rMousePos.Y(), eFieldUnit, cSep );
 
-    aStbStatus.SetItemText( 2, aStr );
+    m_pStbStatus->SetItemText( 2, aStr );
 
     return 0L;
 }
@@ -671,7 +675,7 @@ IMPL_LINK( SvxIMapDlg, GraphSizeHdl, IMapWindow*, pWnd )
     OUString aStr = GetUnitString( rSize.Width(), eFieldUnit, cSep ) +
                     " x " + GetUnitString( rSize.Height(), eFieldUnit, cSep );
 
-    aStbStatus.SetItemText( 3, aStr );
+    m_pStbStatus->SetItemText( 3, aStr );
 
     return 0L;
 }
@@ -680,9 +684,9 @@ IMPL_LINK_NOARG(SvxIMapDlg, URLModifyHdl)
 {
     NotifyInfo  aNewInfo;
 
-    aNewInfo.aMarkURL = maURLBox.GetText();
-    aNewInfo.aMarkAltText = aEdtText.GetText();
-    aNewInfo.aMarkTarget = maCbbTarget.GetText();
+    aNewInfo.aMarkURL = m_pURLBox->GetText();
+    aNewInfo.aMarkAltText = m_pEdtText->GetText();
+    aNewInfo.aMarkTarget = m_pCbbTarget->GetText();
 
     pIMapWnd->ReplaceActualIMapInfo( aNewInfo );
 
@@ -692,8 +696,8 @@ IMPL_LINK_NOARG(SvxIMapDlg, URLModifyHdl)
 IMPL_LINK_NOARG(SvxIMapDlg, URLLoseFocusHdl)
 {
     NotifyInfo        aNewInfo;
-    const OUString    aURLText( maURLBox.GetText() );
-    const OUString    aTargetText( maCbbTarget.GetText() );
+    const OUString    aURLText( m_pURLBox->GetText() );
+    const OUString    aTargetText( m_pCbbTarget->GetText() );
 
     if ( !aURLText.isEmpty() )
     {
@@ -705,7 +709,7 @@ IMPL_LINK_NOARG(SvxIMapDlg, URLLoseFocusHdl)
     else
         aNewInfo.aMarkURL = aURLText;
 
-    aNewInfo.aMarkAltText = aEdtText.GetText();
+    aNewInfo.aMarkAltText = m_pEdtText->GetText();
 
     if ( aTargetText.isEmpty() )
         aNewInfo.aMarkTarget = SELF_TARGET;
@@ -736,7 +740,7 @@ IMPL_LINK_NOARG(SvxIMapDlg, UpdateHdl)
         SetEditingObject( pOwnData->pUpdateEditingObject );
 
         // After changes => default selection
-        aTbxIMapDlg1.CheckItem( TBI_SELECT, true );
+        m_pTbxIMapDlg1->CheckItem( mnSelectId, true );
         pIMapWnd->SetEditMode( true );
     }
 
@@ -754,25 +758,25 @@ IMPL_LINK( SvxIMapDlg, StateHdl, IMapWindow*, pWnd )
     const SdrModel*     pModel = pWnd->GetSdrModel();
     const SdrView*      pView = pWnd->GetSdrView();
     const bool          bPolyEdit = ( pObj != NULL ) && pObj->ISA( SdrPathObj );
-    const bool          bDrawEnabled = !( bPolyEdit && aTbxIMapDlg1.IsItemChecked( TBI_POLYEDIT ) );
+    const bool          bDrawEnabled = !( bPolyEdit && m_pTbxIMapDlg1->IsItemChecked( mnPolyEditId ) );
 
-    aTbxIMapDlg1.EnableItem( TBI_APPLY, pOwnData->bExecState && pWnd->IsChanged() );
+    m_pTbxIMapDlg1->EnableItem( mnApplyId, pOwnData->bExecState && pWnd->IsChanged() );
 
-    aTbxIMapDlg1.EnableItem( TBI_SELECT, bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_RECT, bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_CIRCLE, bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_POLY, bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_FREEPOLY, bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnSelectId, bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnRectId, bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnCircleId, bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnPolyId, bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnFreePolyId, bDrawEnabled );
 
     // BezierEditor State
-    aTbxIMapDlg1.EnableItem( TBI_POLYEDIT, bPolyEdit );
-    aTbxIMapDlg1.EnableItem( TBI_POLYMOVE, !bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_POLYINSERT, !bDrawEnabled );
-    aTbxIMapDlg1.EnableItem( TBI_POLYDELETE, !bDrawEnabled && pView->IsDeleteMarkedPointsPossible() );
+    m_pTbxIMapDlg1->EnableItem( mnPolyEditId, bPolyEdit );
+    m_pTbxIMapDlg1->EnableItem( mnPolyMoveId, !bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnPolyInsertId, !bDrawEnabled );
+    m_pTbxIMapDlg1->EnableItem( mnPolyDeleteId, !bDrawEnabled && pView->IsDeleteMarkedPointsPossible() );
 
     // Undo/Redo
-    aTbxIMapDlg1.EnableItem( TBI_UNDO, pModel->HasUndoActions() );
-    aTbxIMapDlg1.EnableItem( TBI_REDO, pModel->HasRedoActions() );
+    m_pTbxIMapDlg1->EnableItem( mnUndoId, pModel->HasUndoActions() );
+    m_pTbxIMapDlg1->EnableItem( mnRedoId, pModel->HasRedoActions() );
 
     if ( bPolyEdit )
     {
@@ -780,20 +784,20 @@ IMPL_LINK( SvxIMapDlg, StateHdl, IMapWindow*, pWnd )
 
         switch( pWnd->GetPolyEditMode() )
         {
-            case( SID_BEZIER_MOVE ): nId = TBI_POLYMOVE; break;
-            case( SID_BEZIER_INSERT ): nId = TBI_POLYINSERT; break;
+            case( SID_BEZIER_MOVE ): nId = mnPolyMoveId; break;
+            case( SID_BEZIER_INSERT ): nId = mnPolyInsertId; break;
 
             default:
             break;
         }
 
-        aTbxIMapDlg1.CheckItem( nId, true );
+        m_pTbxIMapDlg1->CheckItem( nId, true );
     }
     else
     {
-        aTbxIMapDlg1.CheckItem( TBI_POLYEDIT, false );
-        aTbxIMapDlg1.CheckItem( TBI_POLYMOVE, true );
-        aTbxIMapDlg1.CheckItem( TBI_POLYINSERT, false );
+        m_pTbxIMapDlg1->CheckItem( mnPolyEditId, false );
+        m_pTbxIMapDlg1->CheckItem( mnPolyMoveId, true );
+        m_pTbxIMapDlg1->CheckItem( mnPolyInsertId, false );
         pWnd->SetPolyEditMode( 0 );
     }
 
@@ -803,16 +807,30 @@ IMPL_LINK( SvxIMapDlg, StateHdl, IMapWindow*, pWnd )
 IMPL_LINK_NOARG(SvxIMapDlg, MiscHdl)
 {
        SvtMiscOptions aMiscOptions;
-    aTbxIMapDlg1.SetOutStyle( aMiscOptions.GetToolboxStyle() );
+    m_pTbxIMapDlg1->SetOutStyle( aMiscOptions.GetToolboxStyle() );
 
     return 0L;
 }
 
 void SvxIMapDlg::ApplyImageList()
 {
-    ImageList& rImgLst = maImageList;
-
-    aTbxIMapDlg1.SetImageList( rImgLst );
+    m_pTbxIMapDlg1->SetItemImage(mnApplyId, maApplyImg);
+    m_pTbxIMapDlg1->SetItemImage(mnOpenId, maOpenImg);
+    m_pTbxIMapDlg1->SetItemImage(mnSaveAsId, maSaveAsImg);
+    m_pTbxIMapDlg1->SetItemImage(mnSelectId, maSelectImg);
+    m_pTbxIMapDlg1->SetItemImage(mnRectId, maRectImg);
+    m_pTbxIMapDlg1->SetItemImage(mnCircleId, maCircleImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPolyId, maPolyImg);
+    m_pTbxIMapDlg1->SetItemImage(mnFreePolyId, maFreePolyImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPolyEditId, maPolyEditImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPolyMoveId, maPolyMoveImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPolyInsertId, maPolyInsertImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPolyDeleteId, maPolyDeleteImg);
+    m_pTbxIMapDlg1->SetItemImage(mnUndoId, maUndoImg);
+    m_pTbxIMapDlg1->SetItemImage(mnRedoId, maRedoImg);
+    m_pTbxIMapDlg1->SetItemImage(mnActiveId, maActiveImg);
+    m_pTbxIMapDlg1->SetItemImage(mnMacroId, maMacroImg);
+    m_pTbxIMapDlg1->SetItemImage(mnPropertyId, maPropertyImg);
 }
 
 void SvxIMapDlg::DataChanged( const DataChangedEvent& rDCEvt )
diff --git a/svx/source/dialog/imapdlg.hrc b/svx/source/dialog/imapdlg.hrc
index c290b6e..6667a34 100644
--- a/svx/source/dialog/imapdlg.hrc
+++ b/svx/source/dialog/imapdlg.hrc
@@ -23,10 +23,6 @@
 
 /******************************************************************************/
 
-#define RID_SVXDLG_IMAP         (RID_SVX_IMAPDLG_START)
-#define RID_SVXCTL_IMAP         (RID_SVX_IMAPDLG_START + 7)
-
-#define TBX_IMAPDLG1            1
 #define TBI_APPLY               1
 #define TBI_OPEN                2
 #define TBI_SAVEAS              3
@@ -49,13 +45,6 @@
 #define TBI_UNDO                40
 #define TBI_REDO                41
 
-#define FT_URL                  1
-#define FT_TEXT                 2
-#define CBB_URL                 1
-#define EDT_TEXT                1
-
-#define STB_STATUS              1
-
 #define IL_IMAPDLG              1024
 
 /******************************************************************************/
diff --git a/svx/source/dialog/imapdlg.src b/svx/source/dialog/imapdlg.src
index 9bc815b..96eb7c9 100644
--- a/svx/source/dialog/imapdlg.src
+++ b/svx/source/dialog/imapdlg.src
@@ -20,253 +20,34 @@
 #include "helpid.hrc"
 #include "imapdlg.hrc"
 
- // RID_SVXDLG_IMAP ----------------------------------------------------
-ModelessDialog RID_SVXDLG_IMAP
-{
-    HelpID = "svx:ModelessDialog:RID_SVXDLG_IMAP";
-    OutputSize = TRUE ;
-    Hide = TRUE ;
-    SVLook = TRUE ;
-    Pos = MAP_APPFONT ( 0 , 0 ) ;
-    Size = MAP_APPFONT ( 270 , 213 ) ;
-    Sizeable = TRUE ;
-    Moveable = TRUE ;
-    Closeable = TRUE ;
-    ToolBox TBX_IMAPDLG1
-    {
-        SVLook = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 6 ) ;
-        HelpId = HID_IMAPDLG_TOOLBOX ;
-
-        ItemList =
-        {
-            ToolBoxItem
-            {
-                Identifier = TBI_APPLY ;
-                HelpId = HID_IMAPDLG_APPLY ;
-                Text [ en-US ] = "Apply" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_OPEN ;
-                HelpId = HID_IMAPDLG_OPEN ;
-                Text [ en-US ] = "Open..." ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_SAVEAS ;
-                HelpId = HID_IMAPDLG_SAVEAS ;
-
-                Text [ en-US ] = "Save..." ;
-            };
-            ToolBoxItem
-            {
-                Type = TOOLBOXITEM_SEPARATOR ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_SELECT ;
-                HelpId = HID_IMAPDLG_SELECT ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-                Text [ en-US ] = "Select" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_RECT ;
-                HelpId = HID_IMAPDLG_RECT ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-                Text [ en-US ] = "Rectangle" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_CIRCLE ;
-                HelpId = HID_IMAPDLG_CIRCLE ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-                Text [ en-US ] = "Ellipse" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_POLY ;
-                HelpId = HID_IMAPDLG_POLY ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-                Text [ en-US ] = "Polygon" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_FREEPOLY ;
-                HelpId = HID_IMAPDLG_FREEPOLY ;
-                Text [ en-US ] = "Freeform Polygon" ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-            };
-            ToolBoxItem
-            {
-                Type = TOOLBOXITEM_SEPARATOR ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_POLYEDIT ;
-                HelpId = HID_IMAPDLG_POLYEDIT ;
-                Text [ en-US ] = "Edit Points" ;
-                AutoCheck = TRUE ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_POLYMOVE ;
-                HelpId = HID_IMAPDLG_POLYMOVE ;
-                Text [ en-US ] = "Move Points" ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_POLYINSERT ;
-                HelpId = HID_IMAPDLG_POLYINSERT ;
-                Text [ en-US ] = "Insert Points" ;
-                RadioCheck = TRUE ;
-                AutoCheck = TRUE ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_POLYDELETE ;
-                HelpId = HID_IMAPDLG_POLYDELETE ;
-                Text [ en-US ] = "Delete Points" ;
-            };
-            ToolBoxItem
-            {
-                Type = TOOLBOXITEM_SEPARATOR ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_UNDO ;
-                HelpId = HID_IMAPDLG_UNDO ;
-                Text [ en-US ] = "Undo " ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_REDO ;
-                HelpId = HID_IMAPDLG_REDO ;
-                Text [ en-US ] = "Redo" ;
-            };
-            ToolBoxItem
-            {
-                Type = TOOLBOXITEM_SEPARATOR ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_ACTIVE ;
-                HelpId = HID_IMAPDLG_ACTIVE ;
-                Text [ en-US ] = "Active" ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_MACRO ;
-                HelpId = HID_IMAPDLG_MACRO ;
-                Text [ en-US ] = "Macro..." ;
-            };
-            ToolBoxItem
-            {
-                Identifier = TBI_PROPERTY ;
-                HelpId = HID_IMAPDLG_PROPERTY ;
-                Text [ en-US ] = "Properties..." ;
-            };
-        };
-    };
-
-    FixedText FT_URL
-    {
-        Pos = MAP_APPFONT ( 6 , 25 ) ;
-        Size = MAP_APPFONT ( 30 , 12 ) ;
-        Text [ en-US ] = "Address:" ;
-    };
-    ComboBox CBB_URL
-    {
-        HelpID = "svx:ComboBox:RID_SVXDLG_IMAP:CBB_URL";
-        Pos = MAP_APPFONT ( 39 , 23 ) ;
-        Size = MAP_APPFONT ( 225 , 69 ) ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        AutoSize = TRUE ;
-        AutoHScroll = TRUE ;
-    };
-    FixedText FT_TEXT
-    {
-        Pos = MAP_APPFONT ( 6 , 43 ) ;
-        Size = MAP_APPFONT ( 30 , 12 ) ;
-        Text [ en-US ] = "Text:" ;
-    };
-    Edit EDT_TEXT
-    {
-        HelpID = "svx:Edit:RID_SVXDLG_IMAP:EDT_TEXT";
-        Border = TRUE ;
-        SVLook = TRUE ;
-        Pos = MAP_APPFONT ( 39 , 41 ) ;
-        Size = MAP_APPFONT ( 143 , 12 ) ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-    };
-    Text [ en-US ] = "ImageMap Editor" ;
-
-    FixedText RID_SVXCTL_FT_TARGET
-    {
-        Pos = MAP_APPFONT ( 188 , 43 ) ;
-        Size = MAP_APPFONT ( 22 , 12 ) ;
-        Text [ en-US ] = "Frame:" ;
-    };
-     // nur temporaer
-    ComboBox RID_SVXCTL_CBB_TARGET
-    {
-        HelpID = "svx:ComboBox:RID_SVXDLG_IMAP:RID_SVXCTL_CBB_TARGET";
-        Border = TRUE ;
-        Sort = TRUE ;
-        Pos = MAP_APPFONT ( 213 , 41 ) ;
-        Size = MAP_APPFONT ( 51 , 50 ) ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        HScroll = TRUE ;
-    };
-
 #define IMAPDLG_IDLIST \
-        IdList =            \
-        {                   \
-            TBI_APPLY ; \
-            TBI_OPEN ;  \
-            TBI_SAVEAS ;    \
-            TBI_SELECT ;    \
-            TBI_RECT ;  \
-            TBI_CIRCLE ;    \
-            TBI_POLY ;  \
-            TBI_FREEPOLY ;  \
-            TBI_POLYEDIT ;  \
-            TBI_POLYMOVE ; \
-            TBI_POLYINSERT ;    \
-            TBI_POLYDELETE ;    \
-            TBI_UNDO ;  \
-            TBI_REDO ;  \
-            TBI_ACTIVE ; \
-            TBI_MACRO ; \
-            TBI_PROPERTY ; \
-        };                 \
-        IdCount = { 17 ; };
-
-    ImageList IL_IMAPDLG
-    {
-        Prefix = "id";
-        MaskColor = Color { Red = 0xFFFF; Green = 0x0000; Blue = 0xFFFF; } ;
-        IMAPDLG_IDLIST
-    };
-};
+    IdList =            \
+    {                   \
+        TBI_APPLY ; \
+        TBI_OPEN ;  \
+        TBI_SAVEAS ;    \
+        TBI_SELECT ;    \
+        TBI_RECT ;  \
+        TBI_CIRCLE ;    \
+        TBI_POLY ;  \
+        TBI_FREEPOLY ;  \
+        TBI_POLYEDIT ;  \
+        TBI_POLYMOVE ; \
+        TBI_POLYINSERT ;    \
+        TBI_POLYDELETE ;    \
+        TBI_UNDO ;  \
+        TBI_REDO ;  \
+        TBI_ACTIVE ; \
+        TBI_MACRO ; \
+        TBI_PROPERTY ; \
+    };                 \
+    IdCount = { 17 ; };
 
-Control RID_SVXCTL_IMAP
+ImageList IL_IMAPDLG
 {
-    Border = TRUE ;
-    SVLook = TRUE ;
-    Pos = MAP_APPFONT ( 6 , 56 ) ;
-    HelpId = HID_IMAPDLG_GRAPHWND ;
+    Prefix = "id";
+    MaskColor = Color { Red = 0xFFFF; Green = 0x0000; Blue = 0xFFFF; } ;
+    IMAPDLG_IDLIST
 };
 
 /******************************************************************************/
diff --git a/svx/source/dialog/imapwnd.cxx b/svx/source/dialog/imapwnd.cxx
index 05e0e8b..3b62e39 100644
--- a/svx/source/dialog/imapwnd.cxx
+++ b/svx/source/dialog/imapwnd.cxx
@@ -55,8 +55,8 @@ using ::com::sun::star::uno::Reference;
 
 #define TRANSCOL Color( COL_WHITE )
 
-IMapWindow::IMapWindow( Window* pParent, const ResId& rResId, const Reference< XFrame >& rxDocumentFrame ) :
-            GraphCtrl( pParent, rResId ),
+IMapWindow::IMapWindow( Window* pParent, WinBits nBits, const Reference< XFrame >& rxDocumentFrame ) :
+            GraphCtrl( pParent, nBits ),
             DropTargetHelper( this ),
             mxDocumentFrame( rxDocumentFrame )
 {
diff --git a/svx/source/dialog/imapwnd.hxx b/svx/source/dialog/imapwnd.hxx
index 3d151c6..1d2ee7e 100644
--- a/svx/source/dialog/imapwnd.hxx
+++ b/svx/source/dialog/imapwnd.hxx
@@ -131,7 +131,7 @@ protected:
 
 public:
 
-                        IMapWindow( Window* pParent, const ResId& rResId, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxDocumentFrame );
+                        IMapWindow( Window* pParent, WinBits nBits, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxDocumentFrame );
                         virtual ~IMapWindow();
 
     bool                ReplaceActualIMapInfo( const NotifyInfo& rNewInfo );
diff --git a/svx/uiconfig/ui/imapdialog.ui b/svx/uiconfig/ui/imapdialog.ui
new file mode 100644
index 0000000..8c249e1
--- /dev/null
+++ b/svx/uiconfig/ui/imapdialog.ui
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkWindow" id="ImapDialog">
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="title" translatable="yes">ImageMap Editor</property>
+    <child>
+      <object class="GtkBox" id="mainbox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkToolbar" id="toolbar">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <child>
+              <object class="GtkToolButton" id="TBI_APPLY">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_APPLY</property>
+                <property name="label" translatable="yes">Apply</property>
+                <property name="icon_name">svx/res/id01.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_OPEN">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_OPEN</property>
+                <property name="label" translatable="yes">Open...</property>
+                <property name="icon_name">svx/res/id02.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_SAVEAS">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_SAVEAS</property>
+                <property name="label" translatable="yes">Save...</property>
+                <property name="icon_name">svx/res/id03.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_SELECT">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_SELECT</property>
+                <property name="label" translatable="yes">Select</property>
+                <property name="icon_name">svx/res/id04.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_RECT">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_RECT</property>
+                <property name="label" translatable="yes">Rectangle</property>
+                <property name="icon_name">svx/res/id05.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_CIRCLE">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_CIRCLE</property>
+                <property name="label" translatable="yes">Ellipse</property>
+                <property name="icon_name">svx/res/id06.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_POLY">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_POLY</property>
+                <property name="label" translatable="yes">Polygon</property>
+                <property name="icon_name">svx/res/id07.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_FREEPOLY">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_FREEPOLY</property>
+                <property name="label" translatable="yes">Freeform Polygon</property>
+                <property name="icon_name">svx/res/id08.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_POLYEDIT">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_POLYEDIT</property>
+                <property name="label" translatable="yes">Edit Points</property>
+                <property name="icon_name">svx/res/id030.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_POLYMOVE">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_POLYMOVE</property>
+                <property name="label" translatable="yes">Move Points</property>
+                <property name="icon_name">svx/res/id031.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_POLYINSERT">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_POLYINSERT</property>
+                <property name="label" translatable="yes">Insert Points</property>
+                <property name="icon_name">svx/res/id032.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_POLYDELETE">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_POLYDELETE</property>
+                <property name="label" translatable="yes">Delete Points</property>
+                <property name="icon_name">svx/res/id033.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_UNDO">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_UNDO</property>
+                <property name="label" translatable="yes">Undo </property>
+                <property name="icon_name">svx/res/id040.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_REDO">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_REDO</property>
+                <property name="label" translatable="yes">Redo</property>
+                <property name="icon_name">svx/res/id041.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_ACTIVE">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_ACTIVE</property>
+                <property name="label" translatable="yes">Active</property>
+                <property name="icon_name">svx/res/id016.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_MACRO">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_MACRO</property>
+                <property name="label" translatable="yes">Macro...</property>
+                <property name="icon_name">svx/res/id018.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkToolButton" id="TBI_PROPERTY">
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="use_action_appearance">False</property>
+                <property name="action_name">TBI_PROPERTY</property>
+                <property name="label" translatable="yes">Properties...</property>
+                <property name="icon_name">svx/res/id019.png</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="homogeneous">True</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="urlft">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Address:</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="textft">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Text:</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="targetft">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="halign">start</property>
+                <property name="label" translatable="yes">Frame:</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="text">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="svtlo-SvtURLBox" id="url">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">3</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="target">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="has_entry">True</property>
+                <child internal-child="entry">
+                  <object class="GtkEntry" id="combobox-entry">
+                    <property name="can_focus">False</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="container:border">
+            <property name="height_request">200</property>
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">6</property>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="svxlo-StatusBar" id="statusbar">
+            <property name="height_request">25</property>
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">2</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>


More information about the Libreoffice-commits mailing list