diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2008-12-10 13:41:25 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2008-12-10 13:41:25 +0000 |
commit | 9dc583fd7a2824923d3021e907eb9ccb84567002 (patch) | |
tree | ad7e3c0e925155c8cf27805c1b56268d9073f8a1 /dbaccess/source | |
parent | 8f1734f9a109901509034cccd5284d7e31efa8bc (diff) |
CWS-TOOLING: integrate CWS dba31f
2008-12-10 14:16:09 +0100 oj r265185 : #i96658# remove is
2008-12-10 08:46:07 +0100 oj r265147 : remove duplicate ids
2008-12-10 08:35:02 +0100 oj r265146 : #i96658# remove is
2008-12-09 11:44:35 +0100 oj r265072 : use of tools::StringresourceList
2008-12-09 11:43:41 +0100 oj r265071 : new class to read string elements from a Resource
2008-12-09 11:41:56 +0100 oj r265070 : export StringListResource
2008-12-09 11:38:17 +0100 oj r265068 : change string ; to more string objects
2008-12-08 12:11:43 +0100 oj r264985 : change default-license-id to lic-en-US
2008-12-05 12:06:09 +0100 oj r264896 : disable check to uncheck
2008-12-04 08:58:50 +0100 oj r264814 : #i96517,i96520,i96522# d&d, background, state fixed
2008-12-04 08:53:29 +0100 oj r264813 : #i96434# use document ui name from filter
2008-12-04 08:41:06 +0100 oj r264812 : #i96434# use document ui name from filter
2008-12-02 13:48:49 +0100 lla r264697 : #i96526# extra string for default otr wasn't found
2008-11-28 11:46:31 +0100 oj r264536 : move toolbar and resize add field dlg
2008-11-28 08:38:22 +0100 oj r264526 : load string resources
2008-11-27 19:28:52 +0100 oj r264520 : unsigned
2008-11-27 19:10:19 +0100 oj r264517 : move class into unnamed namespace
2008-11-27 18:33:38 +0100 oj r264514 : wrong param
2008-11-27 16:52:39 +0100 oj r264510 : #i96622# wrong string replacement
2008-11-27 16:46:03 +0100 oj r264509 : remove unused var
2008-11-27 13:37:16 +0100 oj r264484 : #i96432# notify only when not in special mode of the page
2008-11-27 13:16:47 +0100 oj r264479 : #i95224# accept alias in group by
2008-11-27 12:35:19 +0100 oj r264477 : #i95416# always show localized strings in the start marker
2008-11-27 09:49:29 +0100 oj r264455 : #i93460# set split pos
2008-11-27 09:05:27 +0100 oj r264447 : #i96453# use extension from mimetype / mediatype
2008-11-26 16:24:43 +0100 oj r264416 : #i96520# #i96522# #i96519# some changes at the add field dialog
2008-11-26 16:20:27 +0100 oj r264414 : #i93420# prevent to register a none system file url
2008-11-26 16:19:02 +0100 oj r264413 : #i96522# new class to paste multiple objects
2008-11-26 10:06:12 +0100 oj r264349 : #i96191# introduce new error message and check if type was defined aand should not be changed
2008-11-26 10:06:12 +0100 oj r264348 : #i96191# throw error when decimal is to big
2008-11-25 12:08:59 +0100 oj r264281 : #i96431# correct state for align and move
2008-11-25 11:54:47 +0100 oj r264280 : #i96428# when new bind to first table
2008-11-25 11:49:55 +0100 oj r264279 : #i96434# add report output format to inspection
2008-11-25 11:49:05 +0100 oj r264278 : #i96434# add report output format to inspection
2008-11-24 10:46:23 +0100 oj r264215 : #i96458# size width for controls
2008-11-24 09:28:56 +0100 oj r264199 : #i96459# mark detail section when nothing is selected
2008-11-20 12:02:35 +0100 oj r264038 : #i96191# fix check for prec
2008-11-20 08:06:32 +0100 oj r264026 : #i90949# patch MID function
2008-11-11 13:14:58 +0100 oj r263555 : #i96086# apply patch
2008-11-11 11:34:46 +0100 oj r263549 : #i94128# correct height of section when controls moved outside
2008-11-11 07:52:08 +0100 oj r263544 : #i94729# fix string with ; as sep
2008-11-11 07:45:27 +0100 oj r263543 : #i95222# export chart title style
2008-11-11 07:43:37 +0100 oj r263542 : #i92541# fix line height
Diffstat (limited to 'dbaccess/source')
-rw-r--r-- | dbaccess/source/ui/dlg/queryfilter.cxx | 41 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/QueryDesignView.hxx | 3 | ||||
-rw-r--r-- | dbaccess/source/ui/querydesign/QueryDesignView.cxx | 9 | ||||
-rw-r--r-- | dbaccess/source/ui/querydesign/QueryTableView.cxx | 2 | ||||
-rw-r--r-- | dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx | 36 | ||||
-rw-r--r-- | dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx | 2 |
6 files changed, 70 insertions, 23 deletions
diff --git a/dbaccess/source/ui/dlg/queryfilter.cxx b/dbaccess/source/ui/dlg/queryfilter.cxx index b3c2af69f..5f8bd7519 100644 --- a/dbaccess/source/ui/dlg/queryfilter.cxx +++ b/dbaccess/source/ui/dlg/queryfilter.cxx @@ -372,23 +372,38 @@ sal_Bool DlgFilterCrit::getCondition(const ListBox& _rField,const ListBox& _rCom sal_Bool bHaving = sal_False; try { + ::rtl::OUString sTableName; sal_Bool bFunction = sal_False; _rFilter.Name = _rField.GetSelectEntry(); Reference< XPropertySet > xColumn = getQueryColumn(_rFilter.Name); - if ( xColumn.is() && xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_REALNAME) ) - { - xColumn->getPropertyValue(PROPERTY_REALNAME) >>= _rFilter.Name; - static ::rtl::OUString sAgg(RTL_CONSTASCII_USTRINGPARAM("AggregateFunction")); - if ( xColumn->getPropertySetInfo()->hasPropertyByName(sAgg) ) - xColumn->getPropertyValue(sAgg) >>= bHaving; - static ::rtl::OUString sFunction(RTL_CONSTASCII_USTRINGPARAM("Function")); - if ( xColumn->getPropertySetInfo()->hasPropertyByName(sFunction) ) - xColumn->getPropertyValue(sFunction) >>= bFunction; - } - if ( !bFunction ) + if ( xColumn.is() ) { - ::rtl::OUString aQuote = m_xMetaData.is() ? m_xMetaData->getIdentifierQuoteString() : ::rtl::OUString(); - _rFilter.Name = ::dbtools::quoteName(aQuote,_rFilter.Name); + Reference< XPropertySetInfo > xInfo = xColumn->getPropertySetInfo(); + if ( xInfo->hasPropertyByName(PROPERTY_REALNAME) ) + { + if ( xInfo->hasPropertyByName(PROPERTY_TABLENAME) ) + xColumn->getPropertyValue(PROPERTY_TABLENAME) >>= sTableName; + xColumn->getPropertyValue(PROPERTY_REALNAME) >>= _rFilter.Name; + static ::rtl::OUString sAgg(RTL_CONSTASCII_USTRINGPARAM("AggregateFunction")); + if ( xInfo->hasPropertyByName(sAgg) ) + xColumn->getPropertyValue(sAgg) >>= bHaving; + static ::rtl::OUString sFunction(RTL_CONSTASCII_USTRINGPARAM("Function")); + if ( xInfo->hasPropertyByName(sFunction) ) + xColumn->getPropertyValue(sFunction) >>= bFunction; + } + if ( !bFunction ) + { + const ::rtl::OUString aQuote = m_xMetaData.is() ? m_xMetaData->getIdentifierQuoteString() : ::rtl::OUString(); + _rFilter.Name = ::dbtools::quoteName(aQuote,_rFilter.Name); + if ( sTableName.getLength() ) + { + static ::rtl::OUString sSep(RTL_CONSTASCII_USTRINGPARAM(".")); + sTableName = ::dbtools::quoteName(aQuote,sTableName); + sTableName += sSep; + sTableName += _rFilter.Name; + _rFilter.Name = sTableName; + } + } // if ( !bFunction ) } } catch(Exception) diff --git a/dbaccess/source/ui/inc/QueryDesignView.hxx b/dbaccess/source/ui/inc/QueryDesignView.hxx index ca247aba6..7f85b879a 100644 --- a/dbaccess/source/ui/inc/QueryDesignView.hxx +++ b/dbaccess/source/ui/inc/QueryDesignView.hxx @@ -139,7 +139,8 @@ namespace dbaui ::com::sun::star::lang::Locale getLocale() const { return m_aLocale;} ::rtl::OUString getDecimalSeparator() const { return m_sDecimalSep;} - SqlParseError InsertField( const OTableFieldDescRef& rInfo, sal_Bool bVis=sal_True, sal_Bool bActivate = sal_True); + SqlParseError InsertField( const OTableFieldDescRef& rInfo, sal_Bool bVis=sal_True, sal_Bool bActivate = sal_True); + bool HasFieldByAliasName(const ::rtl::OUString& rFieldName, OTableFieldDescRef& rInfo) const; // save the position of the table window and the pos of the splitters // called when fields are deleted void DeleteFields( const ::rtl::OUString& rAliasName ); diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx index a10b80871..badcf1c16 100644 --- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx +++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx @@ -434,7 +434,11 @@ namespace bErg = (pSTW && pSTW->ExistsField( aColumnName, _rDragInfo ) ); } if ( !bErg ) + { bErg = static_cast<OQueryTableView*>(_pView->getTableView())->FindTableFromField(aColumnName, _rDragInfo, nCntAccount); + if ( !bErg ) + bErg = _pView->HasFieldByAliasName(aColumnName, _rDragInfo); + } if ( !bErg ) { eErrorCode = eColumnNotFound; @@ -2835,6 +2839,11 @@ void OQueryDesignView::DeleteFields( const ::rtl::OUString& rAliasName ) m_pSelectionBox->DeleteFields( rAliasName ); } // ----------------------------------------------------------------------------- +bool OQueryDesignView::HasFieldByAliasName(const ::rtl::OUString& rFieldName, OTableFieldDescRef& rInfo) const +{ + return m_pSelectionBox->HasFieldByAliasName( rFieldName, rInfo); +} +// ----------------------------------------------------------------------------- SqlParseError OQueryDesignView::InsertField( const OTableFieldDescRef& rInfo, sal_Bool bVis, sal_Bool bActivate) { return m_pSelectionBox->InsertField( rInfo, BROWSER_INVALIDID,bVis, bActivate ).isValid() ? eOk : eTooManyColumns; diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx index 2301a6247..8c665e221 100644 --- a/dbaccess/source/ui/querydesign/QueryTableView.cxx +++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx @@ -1054,8 +1054,6 @@ sal_Bool OQueryTableView::ShowTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUn return bSuccess; } - - //------------------------------------------------------------------------ void OQueryTableView::InsertField(const OTableFieldDescRef& rInfo) { diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx index a52819b33..6c28e552f 100644 --- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx +++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx @@ -408,9 +408,15 @@ void OSelectionBrowseBox::Init() aFont.SetWeight( WEIGHT_NORMAL ); GetDataWindow().SetFont( aFont ); - //xxx richtige Zeilenhoehe fuer EditEng ??? - long nLSize = GetDataWindow().GetTextHeight() + 4; - SetDataRowHeight(nLSize); + Size aHeight; + const Control* pControls[] = { m_pTextCell,m_pVisibleCell,m_pTableCell,m_pFieldCell }; + for(sal_Size i= 0; i < sizeof(pControls)/sizeof(pControls[0]);++i) + { + const Size aTemp( pControls[i]->GetOptimalSize(WINDOWSIZE_PREFERRED) ); + if ( aTemp.Height() > aHeight.Height() ) + aHeight.Height() = aTemp.Height(); + } // for(int i= 0; i < sizeof(pControls)/sizeof(pControls[0]);++i + SetDataRowHeight(aHeight.Height()); SetTitleLines(1); // Anzahl der sichtbaren Zeilen ermitteln for(long i=0;i<BROW_ROW_CNT;i++) @@ -1329,7 +1335,7 @@ void OSelectionBrowseBox::PaintCell(OutputDevice& rDev, const Rectangle& rRect, if (nRow == BROW_VIS_ROW) PaintTristate(rDev, rRect, pEntry->IsVisible() ? STATE_CHECK : STATE_NOCHECK); else - rDev.DrawText(rRect.TopLeft(), GetCellText(nRow, nColumnId)); + rDev.DrawText(rRect, GetCellText(nRow, nColumnId),TEXT_DRAW_VCENTER); rDev.SetClipRegion( ); } @@ -1338,15 +1344,15 @@ void OSelectionBrowseBox::PaintCell(OutputDevice& rDev, const Rectangle& rRect, void OSelectionBrowseBox::PaintStatusCell(OutputDevice& rDev, const Rectangle& rRect) const { DBG_CHKTHIS(OSelectionBrowseBox,NULL); - Point aPos(rRect.TopLeft()); - aPos.Y() -= 2; + Rectangle aRect(rRect); + aRect.TopLeft().Y() -= 2; String aLabel(ModuleRes(STR_QUERY_HANDLETEXT)); // ab BROW_CRIT2_ROW werden alle Zeilen mit "oder" angegeben xub_StrLen nToken = (xub_StrLen) (m_nSeekRow >= GetBrowseRow(BROW_CRIT2_ROW)) ? xub_StrLen(BROW_CRIT2_ROW) : xub_StrLen(GetRealRow(m_nSeekRow)); - rDev.DrawText(aPos, aLabel.GetToken(nToken)); + rDev.DrawText(aRect, aLabel.GetToken(nToken),TEXT_DRAW_VCENTER); } //------------------------------------------------------------------------------ @@ -2833,5 +2839,21 @@ Reference< XAccessible > OSelectionBrowseBox::CreateAccessibleCell( sal_Int32 _n return EditBrowseBox::CreateAccessibleCell( _nRow, _nColumnPos ); } // ----------------------------------------------------------------------------- +bool OSelectionBrowseBox::HasFieldByAliasName(const ::rtl::OUString& rFieldName, OTableFieldDescRef& rInfo) const +{ + OTableFields& aFields = getFields(); + OTableFields::iterator aIter = aFields.begin(); + OTableFields::iterator aEnd = aFields.end(); + for(;aIter != aEnd;++aIter) + { + if ( (*aIter)->GetFieldAlias() == rFieldName ) + { + rInfo = *aIter; + break; + } + } + return aIter != aEnd; +} +// ----------------------------------------------------------------------------- diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx index 56ce9999a..fcc9a5320 100644 --- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx +++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx @@ -123,6 +123,8 @@ namespace dbaui void InsertColumn( OTableFieldDescRef pEntry, USHORT& _nColumnPostion ); void RemoveColumn( USHORT _nColumnId ); void DeleteFields( const String& rAliasName ); + + bool HasFieldByAliasName(const ::rtl::OUString& rFieldName, OTableFieldDescRef& rInfo) const; // AddGroupBy:: F"ugt ein Feld mit Funktion == Grupierung. Falls das Feld schon vorhanden ist und ein Aggregate Funktion // benutzt, wird das Flag nicht gesetzt void AddGroupBy( const OTableFieldDescRef& rInfo,sal_uInt32 _nCurrentPos); |