File:ConditionAndFiltdlg.patch
No file by this name exists.
diff -cNr yuan/sc/inc/global.hxx xiugai/sc/inc/global.hxx
- yuan/sc/inc/global.hxx Fri Nov 16 13:14:18 2007
--- xiugai/sc/inc/global.hxx Tue Dec 18 11:27:16 2007
- 825,831 ****
SC_TOPVAL, SC_BOTVAL, SC_TOPPERC,
! SC_BOTPERC
}; // -----------------------------------------------------------------------
--- 825,837 ----
SC_TOPVAL, SC_BOTVAL, SC_TOPPERC,
! SC_BOTPERC, ! SC_CONTAINS, ! SC_DOES_NOT_CONTAIN, ! SC_BEGINS_WITH, ! SC_DOES_NOT_BEGIN_WITH, ! SC_ENDS_WITH, ! SC_DOES_NOT_END_WITH
}; // -----------------------------------------------------------------------
diff -cNr yuan/sc/source/core/data/table3.cxx xiugai/sc/source/core/data/table3.cxx
- yuan/sc/source/core/data/table3.cxx Fri Nov 16 13:14:56 2007
--- xiugai/sc/source/core/data/table3.cxx Tue Dec 18 11:29:44 2007
- 1019,1024 ****
--- 1019,1027 ----
} } else if ( (rEntry.eOp == SC_EQUAL || rEntry.eOp == SC_NOT_EQUAL) ||
+ rEntry.eOp == SC_CONTAINS || rEntry.eOp == SC_DOES_NOT_CONTAIN || + rEntry.eOp == SC_BEGINS_WITH || rEntry.eOp == SC_ENDS_WITH || + rEntry.eOp == SC_DOES_NOT_BEGIN_WITH || rEntry.eOp == SC_DOES_NOT_END_WITH ||
(rEntry.bQueryByString && (pCell ? pCell->HasStringData() : HasStringData( static_cast<SCCOL>(rEntry.nField),
- 1036,1043 ****
else GetInputString( static_cast<SCCOL>(rEntry.nField), nRow, aCellStr );
! BOOL bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL) ! || (rEntry.eOp == SC_NOT_EQUAL)));
BOOL bTestRegExp = (pbTestEqualCondition && rParam.bRegExp && ((rEntry.eOp == SC_LESS_EQUAL) || (rEntry.eOp == SC_GREATER_EQUAL)));
--- 1039,1046 ----
else GetInputString( static_cast<SCCOL>(rEntry.nField), nRow, aCellStr );
! BOOL bRealRegExp = (rParam.bRegExp && ((rEntry.eOp == SC_EQUAL) ! || (rEntry.eOp == SC_NOT_EQUAL)));
BOOL bTestRegExp = (pbTestEqualCondition && rParam.bRegExp && ((rEntry.eOp == SC_LESS_EQUAL) || (rEntry.eOp == SC_GREATER_EQUAL)));
- 1085,1090 ****
--- 1088,1163 ----
} else { // use collator here because data was probably sorted
+ if ( rEntry.eOp == SC_CONTAINS || rEntry.eOp == SC_DOES_NOT_CONTAIN ) + { + // "aCellStr" is the string get from the cell! + // "*rEntry.pStr" is the string get from the Value Field! + BOOL bFound = FALSE; + xub_StrLen nStart = 0; + xub_StrLen nEnd = aCellStr.Len(); + bFound = (BOOL)rEntry.GetSearchTextPtr( rParam.bCaseSens )->SearchFrwrd( aCellStr, &nStart, &nEnd ); + switch (rEntry.eOp) + { + case SC_CONTAINS : + bOk = bFound; + break; + case SC_DOES_NOT_CONTAIN : + bOk = ( bFound == TRUE ) ? FALSE : TRUE ; + break; + } + } + else if ( rEntry.eOp == SC_BEGINS_WITH || rEntry.eOp == SC_DOES_NOT_BEGIN_WITH + || rEntry.eOp == SC_ENDS_WITH || rEntry.eOp == SC_DOES_NOT_END_WITH ) + { + BOOL bFound = FALSE; + BOOL bRealFound = FALSE; + + xub_StrLen nRoLen = (rEntry.pStr)->Len(); + + xub_StrLen nStart = 0; + xub_StrLen nEnd = aCellStr.Len(); + + xub_StrLen nRoEnd = nEnd; + + if ( rEntry.eOp == SC_BEGINS_WITH || rEntry.eOp == SC_DOES_NOT_BEGIN_WITH ) + { + bFound = (BOOL)rEntry.GetSearchTextPtr( rParam.bCaseSens )->SearchFrwrd( aCellStr, &nStart, &nEnd ); + + if ( bFound && nStart == 0 ) + bRealFound = TRUE; + } + else + { + String sRoTmpStr; + + if ( nRoEnd == nRoLen ) + sRoTmpStr = aCellStr; + else + sRoTmpStr = aCellStr.Copy( nRoEnd - nRoLen,nRoEnd - 1 ); + + bFound = (BOOL)rEntry.GetSearchTextPtr( rParam.bCaseSens )->SearchFrwrd( sRoTmpStr, &nStart, &nRoLen ); + + if ( bFound ) + bRealFound = TRUE; + } + switch (rEntry.eOp) + { + case SC_BEGINS_WITH : + bOk = bRealFound; + break; + case SC_DOES_NOT_BEGIN_WITH : + bOk = ( bRealFound == TRUE ) ? FALSE : TRUE ; + break; + case SC_ENDS_WITH : + bOk = bRealFound; + break; + case SC_DOES_NOT_END_WITH : + bOk = ( bRealFound == TRUE ) ? FALSE : TRUE ; + break; + } + } + else + {
sal_Int32 nCompare = pCollator->compareString( aCellStr, *rEntry.pStr ); switch (rEntry.eOp)
- 1113,1118 ****
--- 1186,1192 ----
} } }
+ }
else if (rParam.bMixedComparison) { if (rEntry.bQueryByString &&
diff -cNr yuan/sc/source/ui/dbgui/filtdlg.cxx xiugai/sc/source/ui/dbgui/filtdlg.cxx
- yuan/sc/source/ui/dbgui/filtdlg.cxx Fri Nov 16 13:16:12 2007
--- xiugai/sc/source/ui/dbgui/filtdlg.cxx Tue Dec 18 11:30:42 2007
- 88,93 ****
--- 88,94 ----
: ScAnyRefDlg ( pB, pCW, pParent, RID_SCDLG_FILTER ), // aFlCriteria ( this, ScResId( FL_CRITERIA ) ),
+ aFlSeperator ( this, ScResId( FL_SPERATOR ) ),
aLbField1 ( this, ScResId( LB_FIELD1 ) ), aLbCond1 ( this, ScResId( LB_COND1 ) ), aEdVal1 ( this, ScResId( ED_VAL1 ) ),
diff -cNr yuan/sc/source/ui/inc/filtdlg.hxx xiugai/sc/source/ui/inc/filtdlg.hxx
- yuan/sc/source/ui/inc/filtdlg.hxx Fri Nov 16 13:16:34 2007
--- xiugai/sc/source/ui/inc/filtdlg.hxx Tue Dec 18 11:31:16 2007
- 135,140 ****
--- 135,141 ----
private: FixedLine aFlCriteria;
+ FixedLine aFlSeperator; \
//---------------------------- ListBox aLbField1; ListBox aLbCond1;
- 155,160 ****
--- 156,162 ----
FixedText aFtCond; FixedText aFtVal;
+
_COMMON_FILTER_RSCOBJS const String aStrEmpty;
diff -cNr yuan/sc/source/ui/inc/filter.hrc xiugai/sc/source/ui/inc/filter.hrc
- yuan/sc/source/ui/inc/filter.hrc Fri Nov 16 13:16:34 2007
--- xiugai/sc/source/ui/inc/filter.hrc Tue Dec 18 11:31:40 2007
- 73,78 ****
--- 73,79 ----
#define ED_VAL2 33 #define ED_VAL3 34 #define FL_CRITERIA 35
+ #define FL_SPERATOR 36
// Spezialfilter
diff -cNr yuan/sc/source/ui/src/filter.src xiugai/sc/source/ui/src/filter.src
- yuan/sc/source/ui/src/filter.src Fri Nov 16 13:17:06 2007
--- xiugai/sc/source/ui/src/filter.src Tue Dec 18 11:36:00 2007
- 39,45 ****
HelpId = SID_FILTER ; Hide = TRUE ; SVLook = TRUE ;
! Size = MAP_APPFONT ( 298 , 83 ) ;
Text [ en-US ] = "Standard Filter" ; Moveable = TRUE ; Closeable = FALSE ;
--- 39,45 ----
HelpId = SID_FILTER ; Hide = TRUE ; SVLook = TRUE ;
! Size = MAP_APPFONT ( 270 , 113 ) ;
Text [ en-US ] = "Standard Filter" ; Moveable = TRUE ; Closeable = FALSE ;
- 58,69 ****
FixedText FT_COND { Pos = MAP_APPFONT ( 122 , 14 ) ;
! Size = MAP_APPFONT ( 47 , 8 ) ;
Text [ en-US ] = "Condition" ; }; FixedText FT_VAL {
! Pos = MAP_APPFONT ( 173 , 14 ) ;
Size = MAP_APPFONT ( 60 , 8 ) ; Text [ en-US ] = "Value" ; };
--- 58,69 ----
FixedText FT_COND { Pos = MAP_APPFONT ( 122 , 14 ) ;
! Size = MAP_APPFONT ( 75 , 8 ) ;
Text [ en-US ] = "Condition" ; }; FixedText FT_VAL {
! Pos = MAP_APPFONT ( 201 , 14 ) ;
Size = MAP_APPFONT ( 60 , 8 ) ; Text [ en-US ] = "Value" ; };
- 121,127 ****
{ Border = TRUE ; Pos = MAP_APPFONT ( 122 , 25 ) ;
! Size = MAP_APPFONT ( 47 , 105 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
--- 121,127 ----
{ Border = TRUE ; Pos = MAP_APPFONT ( 122 , 25 ) ;
! Size = MAP_APPFONT ( 75 , 135 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
- 136,148 ****
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ; }; }; ListBox LB_COND2 { Border = TRUE ; Pos = MAP_APPFONT ( 122 , 41 ) ;
! Size = MAP_APPFONT ( 47 , 105 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
--- 136,154 ----
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ;
+ < "Contains" ; Default ; > ; + < "Does not contain" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Does not begin with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Does not end with" ; Default ; > ;
}; }; ListBox LB_COND2 { Border = TRUE ; Pos = MAP_APPFONT ( 122 , 41 ) ;
! Size = MAP_APPFONT ( 75 , 135 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
- 157,169 ****
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ; }; }; ListBox LB_COND3 { Border = TRUE ; Pos = MAP_APPFONT ( 122 , 57 ) ;
! Size = MAP_APPFONT ( 47 , 105 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
--- 163,181 ----
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ;
+ < "Contains" ; Default ; > ; + < "Does not contain" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Does not begin with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Does not end with" ; Default ; > ;
}; }; ListBox LB_COND3 { Border = TRUE ; Pos = MAP_APPFONT ( 122 , 57 ) ;
! Size = MAP_APPFONT ( 75 , 135 ) ;
TabStop = TRUE ; DropDown = TRUE ; stringlist [ en-US ] =
- 178,202 ****
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ; }; }; ComboBox ED_VAL1 {
! Pos = MAP_APPFONT ( 173 , 25 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ; }; ComboBox ED_VAL2 {
! Pos = MAP_APPFONT ( 173 , 41 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ; }; ComboBox ED_VAL3 {
! Pos = MAP_APPFONT ( 173 , 57 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ;
--- 190,220 ----
< "Smallest" ; Default ; > ; < "Largest %" ; Default ; > ; < "Smallest %" ; Default ; > ;
+ < "Contains" ; Default ; > ; + < "Does not contain" ; Default ; > ; + < "Begins with" ; Default ; > ; + < "Does not begin with" ; Default ; > ; + < "Ends with" ; Default ; > ; + < "Does not end with" ; Default ; > ;
}; }; ComboBox ED_VAL1 {
! Pos = MAP_APPFONT ( 201 , 25 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ; }; ComboBox ED_VAL2 {
! Pos = MAP_APPFONT ( 201 , 41 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ; }; ComboBox ED_VAL3 {
! Pos = MAP_APPFONT ( 201 , 57 ) ;
Size = MAP_APPFONT ( 60 , 90 ) ; TabStop = TRUE ; DropDown = TRUE ;
- 204,216 ****
FixedLine FL_CRITERIA { Pos = MAP_APPFONT ( 6 , 3 ) ;
! Size = MAP_APPFONT ( 230 , 8 ) ;
Text [ en-US ] = "Filter criteria"; }; CheckBox BTN_CASE { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 86 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Case ~sensitive" ;
--- 222,234 ----
FixedLine FL_CRITERIA { Pos = MAP_APPFONT ( 6 , 3 ) ;
! Size = MAP_APPFONT ( 258 , 8 ) ;
Text [ en-US ] = "Filter criteria"; }; CheckBox BTN_CASE { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 116 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Case ~sensitive" ;
- 218,224 ****
CheckBox BTN_REGEXP { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 86 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Regular ~expression" ;
--- 236,242 ----
CheckBox BTN_REGEXP { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 116 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Regular ~expression" ;
- 226,232 ****
CheckBox BTN_HEADER { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 100 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Range contains ~column labels" ;
--- 244,250 ----
CheckBox BTN_HEADER { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 130 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Range contains ~column labels" ;
- 234,240 ****
CheckBox BTN_UNIQUE { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 100 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "~No duplication" ;
--- 252,258 ----
CheckBox BTN_UNIQUE { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 130 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "~No duplication" ;
- 242,248 ****
CheckBox BTN_COPY_RESULT { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 114 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Copy ~results to..." ;
--- 260,266 ----
CheckBox BTN_COPY_RESULT { Hide = TRUE ;
! Pos = MAP_APPFONT ( 12 , 144 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "Copy ~results to..." ;
- 250,256 ****
CheckBox BTN_DEST_PERS { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 114 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "~Keep filter criteria" ;
--- 268,274 ----
CheckBox BTN_DEST_PERS { Hide = TRUE ;
! Pos = MAP_APPFONT ( 142 , 144 ) ;
Size = MAP_APPFONT ( 94 , 10 ) ; TabStop = TRUE ; Text [ en-US ] = "~Keep filter criteria" ;
- 259,266 ****
{ Border = TRUE ; Hide = TRUE ;
! Pos = MAP_APPFONT ( 21 , 126 ) ; ! Size = MAP_APPFONT ( 90 , 90 ) ;
TabStop = TRUE ; DropDown = TRUE ; };
--- 277,284 ----
{ Border = TRUE ; Hide = TRUE ;
! Pos = MAP_APPFONT ( 21 , 156 ) ; ! Size = MAP_APPFONT ( 104 , 90 ) ;
TabStop = TRUE ; DropDown = TRUE ; };
- 268,280 ****
{ Border = TRUE ; Hide = TRUE ;
! Pos = MAP_APPFONT ( 115 , 126 ) ;
Size = MAP_APPFONT ( 104 , 12 ) ; TabStop = TRUE ; }; ImageButton RB_COPY_AREA {
! Pos = MAP_APPFONT ( 221 , 125 ) ;
Size = MAP_APPFONT ( 13 , 15 ) ; TabStop = FALSE ; QuickHelpText [ en-US ] = "Shrink" ;
--- 286,298 ----
{ Border = TRUE ; Hide = TRUE ;
! Pos = MAP_APPFONT ( 129 , 156 ) ;
Size = MAP_APPFONT ( 104 , 12 ) ; TabStop = TRUE ; }; ImageButton RB_COPY_AREA {
! Pos = MAP_APPFONT ( 235 , 155 ) ;
Size = MAP_APPFONT ( 13 , 15 ) ; TabStop = FALSE ; QuickHelpText [ en-US ] = "Shrink" ;
- 282,295 ****
FixedLine FL_OPTIONS { Hide = TRUE ;
! Pos = MAP_APPFONT ( 6 , 75 ) ; ! Size = MAP_APPFONT ( 230 , 8 ) ;
Text [ en-US ] = "Options" ; }; FixedText FT_DBAREA { Hide = TRUE ;
! Pos = MAP_APPFONT ( 66 , 144 ) ;
Size = MAP_APPFONT ( 167 , 8 ) ; Left = TRUE ; Text [ en-US ] = "dummy" ;
--- 300,313 ----
FixedLine FL_OPTIONS { Hide = TRUE ;
! Pos = MAP_APPFONT ( 6 , 105 ) ; ! Size = MAP_APPFONT ( 258 , 8 ) ;
Text [ en-US ] = "Options" ; }; FixedText FT_DBAREA { Hide = TRUE ;
! Pos = MAP_APPFONT ( 66 , 174 ) ;
Size = MAP_APPFONT ( 167 , 8 ) ; Left = TRUE ; Text [ en-US ] = "dummy" ;
- 297,333 ****
FixedText FT_DBAREA_LABEL { Hide = TRUE ;
! Pos = MAP_APPFONT ( 6 , 144 ) ;
Size = MAP_APPFONT ( 58 , 8 ) ; Text [ en-US ] = "Data range:" ; }; OKButton BTN_OK {
! Pos = MAP_APPFONT ( 242 , 6 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; DefButton = TRUE ; }; CancelButton BTN_CANCEL {
! Pos = MAP_APPFONT ( 242 , 23 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; }; HelpButton BTN_HELP {
! Pos = MAP_APPFONT ( 242 , 43 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; }; MoreButton BTN_MORE
! { ! Pos = MAP_APPFONT ( 242 , 63 ) ; ! Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ; MapUnit = MAP_APPFONT ; Delta = 75 ; }; }; //============================================================================ ModelessDialog RID_SCDLG_SPEC_FILTER
--- 315,357 ----
FixedText FT_DBAREA_LABEL { Hide = TRUE ;
! Pos = MAP_APPFONT ( 6 , 174 ) ;
Size = MAP_APPFONT ( 58 , 8 ) ; Text [ en-US ] = "Data range:" ; }; OKButton BTN_OK {
! Pos = MAP_APPFONT ( 103 , 86 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; DefButton = TRUE ; }; CancelButton BTN_CANCEL {
! Pos = MAP_APPFONT ( 157 , 86 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; }; HelpButton BTN_HELP {
! Pos = MAP_APPFONT ( 211 , 86 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ; TabStop = TRUE ; }; MoreButton BTN_MORE
! { ! Pos = MAP_APPFONT ( 6 , 86 ) ; ! Size = MAP_APPFONT ( 55 , 14 ) ;
TabStop = TRUE ; MapUnit = MAP_APPFONT ; Delta = 75 ; };
+ FixedLine FL_SPERATOR + { + Pos = MAP_APPFONT ( 0 , 75 ) ; + Size = MAP_APPFONT ( 270 , 6 ) ; + Text [ en-US ] = ""; + };
}; //============================================================================ ModelessDialog RID_SCDLG_SPEC_FILTER
diff -cNr yuan/vcl/source/src/btntext.src xiugai/vcl/source/src/btntext.src
- yuan/vcl/source/src/btntext.src Tue Dec 18 11:25:22 2007
--- xiugai/vcl/source/src/btntext.src Mon Dec 17 17:03:34 2007
- 71,82 ****
String SV_BUTTONTEXT_MORE {
! Text [ en-US ] = "~More";
}; String SV_BUTTONTEXT_LESS {
! Text [ en-US ] = "~More";
}; String SV_BUTTONTEXT_IGNORE
--- 71,82 ----
String SV_BUTTONTEXT_MORE {
! Text [ en-US ] = "More ~Options";
}; String SV_BUTTONTEXT_LESS {
! Text [ en-US ] = "Less ~Options";
}; String SV_BUTTONTEXT_IGNORE
File usage
There are no pages that link to this file.