summaryrefslogtreecommitdiff
path: root/cui/source/dialogs/hangulhanjadlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/dialogs/hangulhanjadlg.cxx')
-rw-r--r--cui/source/dialogs/hangulhanjadlg.cxx145
1 files changed, 75 insertions, 70 deletions
diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx
index 699c67a47eb4..ea931c60d8e5 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -1354,12 +1354,12 @@ namespace svx
if( _bUp )
{
if( !m_pPrev )
- bRet = m_rScrollBar.GetThumbPos() > m_rScrollBar.GetRangeMin();
+ bRet = m_rScrollBar->GetThumbPos() > m_rScrollBar->GetRangeMin();
}
else
{
if( !m_pNext )
- bRet = m_rScrollBar.GetThumbPos() < ( m_rScrollBar.GetRangeMax() - 4 );
+ bRet = m_rScrollBar->GetThumbPos() < ( m_rScrollBar->GetRangeMax() - 4 );
}
return bRet;
@@ -1370,17 +1370,13 @@ namespace svx
const Link& rLoseFocusHdl = GetLoseFocusHdl();
if( rLoseFocusHdl.IsSet() )
rLoseFocusHdl.Call( this );
- m_rScrollBar.SetThumbPos( m_rScrollBar.GetThumbPos() + ( _bUp? -1 : 1 ) );
+ m_rScrollBar->SetThumbPos( m_rScrollBar->GetThumbPos() + ( _bUp? -1 : 1 ) );
( static_cast< HangulHanjaEditDictDialog* >( GetParentDialog() ) )->UpdateScrollbar();
}
- SuggestionEdit::SuggestionEdit( Window* pParent, const ResId& rResId,
- ScrollBar& _rScrollBar, SuggestionEdit* _pPrev, SuggestionEdit* _pNext )
- :Edit( pParent, rResId )
- ,m_pPrev( _pPrev )
- ,m_pNext( _pNext )
- ,m_rScrollBar( _rScrollBar )
+ SuggestionEdit::SuggestionEdit( Window* pParent, WinBits nBits )
+ :Edit( pParent, nBits )
{
}
@@ -1437,6 +1433,17 @@ namespace svx
return nHandled;
}
+ void SuggestionEdit::init( ScrollBar* pScrollBar, SuggestionEdit* pPrev, SuggestionEdit* pNext)
+ {
+ m_rScrollBar = pScrollBar;
+ m_pPrev = pPrev;
+ m_pNext = pNext;
+ }
+
+ extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSuggestionEdit( Window *pParent, VclBuilder::stringmap & )
+ {
+ return new SuggestionEdit( pParent, WB_LEFT|WB_VCENTER|WB_BORDER );
+ }
namespace
{
@@ -1466,17 +1473,17 @@ namespace svx
}
- IMPL_LINK_NOARG(HangulHanjaEditDictDialog, ScrollHdl)
+ IMPL_LINK_NOARG( HangulHanjaEditDictDialog, ScrollHdl )
{
UpdateScrollbar();
return 0;
}
- IMPL_LINK_NOARG(HangulHanjaEditDictDialog, OriginalModifyHdl)
+ IMPL_LINK_NOARG( HangulHanjaEditDictDialog, OriginalModifyHdl )
{
m_bModifiedOriginal = true;
- m_aOriginal = comphelper::string::stripEnd(m_aOriginalLB.GetText(), ' ');
+ m_aOriginal = comphelper::string::stripEnd( m_aOriginalLB->GetText(), ' ' );
UpdateSuggestions();
UpdateButtonStates();
@@ -1508,13 +1515,13 @@ namespace svx
return 0;
}
- IMPL_LINK_NOARG(HangulHanjaEditDictDialog, BookLBSelectHdl)
+ IMPL_LINK_NOARG( HangulHanjaEditDictDialog, BookLBSelectHdl )
{
- InitEditDictDialog( m_aBookLB.GetSelectEntryPos() );
+ InitEditDictDialog( m_aBookLB->GetSelectEntryPos() );
return 0;
}
- IMPL_LINK_NOARG(HangulHanjaEditDictDialog, NewPBPushHdl)
+ IMPL_LINK_NOARG( HangulHanjaEditDictDialog, NewPBPushHdl )
{
DBG_ASSERT( m_pSuggestions, "-HangulHanjaEditDictDialog::NewPBPushHdl(): no suggestions... search in hell..." );
Reference< XConversionDictionary > xDict = m_rDictList[ m_nCurrentDict ];
@@ -1544,7 +1551,7 @@ namespace svx
pRight = m_pSuggestions->Next();
}
- if(bAddedSomething||bRemovedSomething)
+ if( bAddedSomething || bRemovedSomething )
InitEditDictDialog( m_nCurrentDict );
}
else
@@ -1583,7 +1590,7 @@ namespace svx
return bRemovedSomething;
}
- IMPL_LINK_NOARG(HangulHanjaEditDictDialog, DeletePBPushHdl)
+ IMPL_LINK_NOARG( HangulHanjaEditDictDialog, DeletePBPushHdl )
{
if( DeleteEntryFromDictionary( m_aOriginal, m_rDictList[ m_nCurrentDict ] ) )
{
@@ -1608,8 +1615,8 @@ namespace svx
UpdateOriginalLB();
- m_aOriginalLB.SetText( !m_aOriginal.isEmpty() ? m_aOriginal : m_aEditHintText, Selection( 0, SELECTION_MAX ) );
- m_aOriginalLB.GrabFocus();
+ m_aOriginalLB->SetText( !m_aOriginal.isEmpty() ? m_aOriginal : m_aEditHintText, Selection( 0, SELECTION_MAX ) );
+ m_aOriginalLB->GrabFocus();
UpdateSuggestions();
UpdateButtonStates();
@@ -1617,7 +1624,7 @@ namespace svx
void HangulHanjaEditDictDialog::UpdateOriginalLB( void )
{
- m_aOriginalLB.Clear();
+ m_aOriginalLB->Clear();
Reference< XConversionDictionary > xDict = m_rDictList[ m_nCurrentDict ];
if( xDict.is() )
{
@@ -1626,7 +1633,7 @@ namespace svx
OUString* pEntry = aEntries.getArray();
while( n )
{
- m_aOriginalLB.InsertEntry( *pEntry );
+ m_aOriginalLB->InsertEntry( *pEntry );
++pEntry;
--n;
@@ -1642,10 +1649,10 @@ namespace svx
{
bool bHaveValidOriginalString = !m_aOriginal.isEmpty() && m_aOriginal != m_aEditHintText;
bool bNew = bHaveValidOriginalString && m_pSuggestions && m_pSuggestions->GetCount() > 0;
- bNew = bNew && (m_bModifiedSuggestions || m_bModifiedOriginal);
+ bNew = bNew && ( m_bModifiedSuggestions || m_bModifiedOriginal );
- m_aNewPB.Enable(bNew);
- m_aDeletePB.Enable(!m_bModifiedOriginal && bHaveValidOriginalString);
+ m_aNewPB->Enable( bNew );
+ m_aDeletePB->Enable(!m_bModifiedOriginal && bHaveValidOriginalString);
}
void HangulHanjaEditDictDialog::UpdateSuggestions( void )
@@ -1675,10 +1682,10 @@ namespace svx
--nCnt;
}
}
- m_bModifiedSuggestions=false;
+ m_bModifiedSuggestions = false;
}
- m_aScrollSB.SetThumbPos( 0 );
+ m_aScrollSB->SetThumbPos( 0 );
UpdateScrollbar(); // will force edits to be filled new
}
@@ -1719,68 +1726,66 @@ namespace svx
}
HangulHanjaEditDictDialog::HangulHanjaEditDictDialog( Window* _pParent, HHDictList& _rDictList, sal_uInt32 _nSelDict )
- :ModalDialog ( _pParent, CUI_RES( RID_SVX_MDLG_HANGULHANJA_EDIT ) )
- ,m_aEditHintText ( CUI_RES( STR_EDITHINT ) )
+ :ModalDialog ( _pParent, "HangulHanjaEditDictDialog", "cui/ui/hangulhanjaeditdictdialog.ui" )
+ ,m_aEditHintText ( CUI_RESSTR(RID_SVXSTR_EDITHINT) )
,m_rDictList ( _rDictList )
,m_nCurrentDict ( 0xFFFFFFFF )
,m_pSuggestions ( NULL )
- ,m_aBookFT ( this, CUI_RES( FT_BOOK ) )
- ,m_aBookLB ( this, CUI_RES( LB_BOOK ) )
- ,m_aOriginalFT ( this, CUI_RES( FT_ORIGINAL ) )
- ,m_aOriginalLB ( this, CUI_RES( LB_ORIGINAL ) )
- ,m_aSuggestionsFT ( this, CUI_RES( FT_SUGGESTIONS ) )
- ,m_aEdit1 ( this, CUI_RES( ED_1 ), m_aScrollSB, NULL, &m_aEdit2 )
- ,m_aEdit2 ( this, CUI_RES( ED_2 ), m_aScrollSB, &m_aEdit1, &m_aEdit3 )
- ,m_aEdit3 ( this, CUI_RES( ED_3 ), m_aScrollSB, &m_aEdit2, &m_aEdit4 )
- ,m_aEdit4 ( this, CUI_RES( ED_4 ), m_aScrollSB, &m_aEdit3, NULL )
- ,m_aScrollSB ( this, CUI_RES( SB_SCROLL ) )
- ,m_aNewPB ( this, CUI_RES( PB_HHE_NEW ) )
- ,m_aDeletePB ( this, CUI_RES( PB_HHE_DELETE ) )
- ,m_aHelpPB ( this, CUI_RES( PB_HHE_HELP ) )
- ,m_aClosePB ( this, CUI_RES( PB_HHE_CLOSE ) )
,m_nTopPos ( 0 )
,m_bModifiedSuggestions ( false )
,m_bModifiedOriginal ( false )
{
- m_aOriginalLB.SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, OriginalModifyHdl ) );
+ get( m_aBookLB, "book" );
+ get( m_aOriginalLB, "original" );
+ get( m_aNewPB, "new" );
+ get( m_aDeletePB, "delete" );
+ get( m_aScrollSB, "scrollbar" );
+ get( m_aEdit1, "edit1" );
+ get( m_aEdit2, "edit2" );
+ get( m_aEdit3, "edit3" );
+ get( m_aEdit4, "edit4" );
+
+ m_aEdit1->init( m_aScrollSB, NULL, m_aEdit2 );
+ m_aEdit2->init( m_aScrollSB, m_aEdit1, m_aEdit3 );
+ m_aEdit3->init( m_aScrollSB, m_aEdit2, m_aEdit4 );
+ m_aEdit4->init( m_aScrollSB, m_aEdit3, NULL );
- m_aNewPB.SetClickHdl( LINK( this, HangulHanjaEditDictDialog, NewPBPushHdl ) );
- m_aNewPB.Enable( false );
+ m_aOriginalLB->SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, OriginalModifyHdl ) );
- m_aDeletePB.SetClickHdl( LINK( this, HangulHanjaEditDictDialog, DeletePBPushHdl ) );
+ m_aNewPB->SetClickHdl( LINK( this, HangulHanjaEditDictDialog, NewPBPushHdl ) );
+ m_aNewPB->Enable( false );
- m_aDeletePB.Enable( false );
+ m_aDeletePB->SetClickHdl( LINK( this, HangulHanjaEditDictDialog, DeletePBPushHdl ) );
+ m_aDeletePB->Enable( false );
#if( MAXNUM_SUGGESTIONS <= 4 )
#error number of suggestions should not under-run the value of 5
#endif
Link aScrLk( LINK( this, HangulHanjaEditDictDialog, ScrollHdl ) );
- m_aScrollSB.SetScrollHdl( aScrLk );
- m_aScrollSB.SetEndScrollHdl( aScrLk );
- m_aScrollSB.SetRangeMin( 0 );
- m_aScrollSB.SetRangeMax( MAXNUM_SUGGESTIONS );
- m_aScrollSB.SetPageSize( 4 ); // because we have 4 edits / page
- m_aScrollSB.SetVisibleSize( 4 );
-
- m_aEdit1.SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl1 ) );
- m_aEdit2.SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl2 ) );
- m_aEdit3.SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl3 ) );
- m_aEdit4.SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl4 ) );
-
- m_aBookLB.SetSelectHdl( LINK( this, HangulHanjaEditDictDialog, BookLBSelectHdl ) );
+ m_aScrollSB->SetScrollHdl( aScrLk );
+ m_aScrollSB->SetEndScrollHdl( aScrLk );
+ m_aScrollSB->SetRangeMin( 0 );
+ m_aScrollSB->SetRangeMax( MAXNUM_SUGGESTIONS );
+ m_aScrollSB->SetPageSize( 4 ); // because we have 4 edits / page
+ m_aScrollSB->SetVisibleSize( 4 );
+
+ m_aEdit1->SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl1 ) );
+ m_aEdit2->SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl2 ) );
+ m_aEdit3->SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl3 ) );
+ m_aEdit4->SetModifyHdl( LINK( this, HangulHanjaEditDictDialog, EditModifyHdl4 ) );
+
+ m_aBookLB->SetSelectHdl( LINK( this, HangulHanjaEditDictDialog, BookLBSelectHdl ) );
sal_uInt32 nDictCnt = m_rDictList.size();
for( sal_uInt32 n = 0 ; n < nDictCnt ; ++n )
{
Reference< XConversionDictionary > xDic( m_rDictList[n] );
OUString aName;
- if(xDic.is())
+ if( xDic.is() )
aName = xDic->getName();
- m_aBookLB.InsertEntry( aName );
+ m_aBookLB->InsertEntry( aName );
}
- m_aBookLB.SelectEntryPos( sal_uInt16( _nSelDict ) );
-
- FreeResource();
+ m_aBookLB->SelectEntryPos( sal_uInt16( _nSelDict ) );
InitEditDictDialog( _nSelDict );
}
@@ -1793,13 +1798,13 @@ namespace svx
void HangulHanjaEditDictDialog::UpdateScrollbar( void )
{
- sal_uInt16 nPos = sal_uInt16( m_aScrollSB.GetThumbPos() );
+ sal_uInt16 nPos = sal_uInt16( m_aScrollSB->GetThumbPos() );
m_nTopPos = nPos;
- SetEditText( m_aEdit1, nPos++ );
- SetEditText( m_aEdit2, nPos++ );
- SetEditText( m_aEdit3, nPos++ );
- SetEditText( m_aEdit4, nPos );
+ SetEditText( *m_aEdit1, nPos++ );
+ SetEditText( *m_aEdit2, nPos++ );
+ SetEditText( *m_aEdit3, nPos++ );
+ SetEditText( *m_aEdit4, nPos );
}