LibreOffice Module svx (master)  1
gridcell.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SVX_SOURCE_INC_GRIDCELL_HXX
21 #define INCLUDED_SVX_SOURCE_INC_GRIDCELL_HXX
22 
23 #include <memory>
24 #include <svx/gridctrl.hxx>
25 
26 #include "sqlparserclient.hxx"
27 
28 #include <com/sun/star/sdb/XColumn.hpp>
29 #include <com/sun/star/form/XBoundControl.hpp>
30 #include <com/sun/star/awt/XTextComponent.hpp>
31 #include <com/sun/star/awt/XListBox.hpp>
32 #include <com/sun/star/awt/XComboBox.hpp>
33 #include <com/sun/star/awt/TextAlign.hpp>
34 #include <com/sun/star/awt/XControlModel.hpp>
35 #include <com/sun/star/awt/XControl.hpp>
36 #include <com/sun/star/awt/XCheckBox.hpp>
37 #include <com/sun/star/awt/XButton.hpp>
38 #include <com/sun/star/lang/XUnoTunnel.hpp>
39 #include <com/sun/star/form/XChangeBroadcaster.hpp>
40 #include <com/sun/star/awt/XWindow.hpp>
41 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
42 
45 #include <comphelper/uno3.hxx>
47 #include <cppuhelper/component.hxx>
48 #include <cppuhelper/implbase1.hxx>
49 #include <cppuhelper/implbase2.hxx>
50 #include <tools/diagnose_ex.h>
51 
52 class DbCellControl;
53 class Edit;
54 class FmXGridCell;
55 namespace dbtools {
56  class FormattedColumnValue;
57 }
58 
60 {
61 protected:
62  ::osl::Mutex m_aMutex;
63 };
64 
65 
66 // DbGridColumn, column description
67 
69 {
70  friend class DbGridControl;
71 
72  css::uno::Reference< css::beans::XPropertySet > m_xModel;
73  css::uno::Reference< css::beans::XPropertySet > m_xField; // connection to the database field
74  ::svt::CellControllerRef m_xController; // structure for managing the controls for a column
75  // this is positioned by the DbBrowseBox on the respective
76  // cells of a column
78 
79 protected:
81 
82 private:
83  sal_Int32 m_nLastVisibleWidth; // only valid if m_bHidden == sal_True
84  sal_Int32 m_nFormatKey;
85  sal_Int16 m_nFieldType;
86  sal_Int16 m_nTypeId;
87  sal_uInt16 m_nId;
88  sal_Int16 m_nFieldPos;
89  sal_Int16 m_nAlign; // specified with TXT_ALIGN_LEFT...
90  bool m_bReadOnly : 1;
91  bool m_bAutoValue : 1;
92  bool m_bInSave : 1;
93  bool m_bNumeric : 1;
94  bool m_bObject : 1; // does the column reference an object datatype?
95  bool m_bHidden : 1;
96  bool m_bLocked : 1;
97 
98  static ::svt::CellControllerRef s_xEmptyController;
99  // used by locked columns
100 public:
101  DbGridColumn(sal_uInt16 _nId, DbGridControl& rParent)
102  :m_rParent(rParent)
103  ,m_nLastVisibleWidth(-1)
104  ,m_nFormatKey(0)
105  ,m_nFieldType(0)
106  ,m_nTypeId(0)
107  ,m_nId(_nId)
108  ,m_nFieldPos(-1)
109  ,m_nAlign(css::awt::TextAlign::LEFT)
110  ,m_bReadOnly(false)
111  ,m_bAutoValue(false)
112  ,m_bInSave(false)
113  ,m_bNumeric(false)
114  ,m_bObject(false)
115  ,m_bHidden(false)
116  ,m_bLocked(false)
117  {
118  }
119 
120  ~DbGridColumn();
121 
122  const css::uno::Reference< css::beans::XPropertySet >& getModel() const { return m_xModel; }
123  void setModel(const css::uno::Reference< css::beans::XPropertySet >& _xModel);
124 
125 
126  sal_uInt16 GetId() const {return m_nId;}
127  bool IsReadOnly() const {return m_bReadOnly;}
128  bool IsAutoValue() const {return m_bAutoValue;}
129  sal_Int16 GetAlignment() const {return m_nAlign;}
130  sal_Int16 GetFieldPos() const {return m_nFieldPos; }
131  bool IsNumeric() const {return m_bNumeric;}
132  bool IsHidden() const {return m_bHidden;}
133  sal_Int32 GetKey() const {return m_nFormatKey;}
134  const ::svt::CellControllerRef& GetController() const {return m_bLocked ? s_xEmptyController : m_xController;}
135  const css::uno::Reference< css::beans::XPropertySet >& GetField() const {return m_xField;}
136  DbGridControl& GetParent() const {return m_rParent;}
137  FmXGridCell* GetCell() const {return m_pCell.get();}
138 
139  css::uno::Reference< css::sdb::XColumn > GetCurrentFieldValue() const;
140 
141  // Drawing a field at a position. If a view is set, it takes over the drawing,
142  // e.g., for checkboxes.
143  void Paint(OutputDevice& rDev,
144  const tools::Rectangle& rRect,
145  const DbGridRow* pRow,
146  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter);
147 
148 
149  // Initializing in the alive mode.
150  // If no ColumnController is set, a default initialization is performed.
151  void CreateControl(sal_Int32 _nFieldPos, const css::uno::Reference< css::beans::XPropertySet >& xField, sal_Int32 nTypeId);
153  {
154  css::uno::Reference< css::beans::XPropertySet > xField(m_xField);
155  CreateControl(m_nFieldPos, xField, m_nTypeId);
156  }
157 
158  // Editing a Zelle
159  void UpdateFromField(const DbGridRow* pRow, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter);
160  bool Commit();
161 
162  // releasing all the data required for the AliveMode
163  void Clear();
164 
165  OUString GetCellText(const DbGridRow* pRow, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) const;
166  OUString GetCellText(const css::uno::Reference< css::sdb::XColumn >& xField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) const;
167 
168  void SetReadOnly(bool bRead){m_bReadOnly = bRead;}
169  void SetObject(sal_Int16 nPos) {m_bObject = m_bReadOnly = true; m_nFieldPos = nPos;}
170 
171  void ImplInitWindow( vcl::Window const & rParent, const InitWindowFacet _eInitWhat );
172 
173  // properties that can bleed through onto the css::frame::Controller
174  sal_Int16 SetAlignment(sal_Int16 _nAlign);
175  // if _nAlign is -1, the alignment is calculated from the type of the field we are bound to
176  // the value really set is returned
177  sal_Int16 SetAlignmentFromModel(sal_Int16 nStandardAlign);
178  // set the alignment according to the "Align"-property of m_xModel, use the given standard
179  // alignment if the property if void, return the really set alignment
180 
181  // column locking
182  bool isLocked() const { return m_bLocked; }
183  void setLock(bool _bLock);
184 
185 private:
189  void impl_toggleScriptManager_nothrow( bool _bAttach );
190 };
191 
192 
193 // DbCellControl, provides the data for a CellController.
194 // Is usually only required for complex controls such as combo boxes.
195 
197  :public FmMutexHelper // _before_ the listener, so the listener is to be destroyed first!
199 {
200 private:
203 
204 private:
205  bool m_bTransparent : 1;
208 
209  css::uno::Reference< css::sdbc::XRowSet >
211 
212 protected:
216 
217 protected:
218  // attribute access
219  const css::uno::Reference< css::sdbc::XRowSet >& getCursor() const { return m_xCursor; }
220 
221  // control transparency
222  bool isTransparent( ) const { return m_bTransparent; }
223  void setTransparent( bool _bSet ) { m_bTransparent = _bSet; }
224 
225  // control alignment
226  void setAlignedController( bool _bAlign ) { m_bAlignedController = _bAlign; }
227 
228 
232  inline bool isValuePropertyLocked() const;
233 
242  inline void lockValueProperty();
246  inline void unlockValueProperty();
247 
248 protected:
249  // adds the given property to the list of properties which we listen for
250  void doPropertyListening( const OUString& _rPropertyName );
251 
252  // called whenever a property which affects field settings in general is called
253  // you should overwrite this method for every property you add yourself as listener to
254  // with doPropertyListening
255  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel );
256 
257  // called by _propertyChanged if a property which denotes the column value has changed
258  void implValuePropertyChanged( );
259 
260 
261 public:
262  DbCellControl(DbGridColumn& _rColumn);
263  virtual ~DbCellControl() override;
264 
265 
267  {
268  ENSURE_OR_THROW( m_pWindow, "no window" );
269  return *m_pWindow;
270  }
271 
272  // control alignment
273  bool isAlignedController() const { return m_bAlignedController; }
274  void AlignControl(sal_Int16 nAlignment);
275 
276  void SetTextLineColor();
277  void SetTextLineColor(const Color& _rColor);
278 
279  // initializing before a control is displayed
280  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor );
281  virtual ::svt::CellControllerRef CreateController() const = 0;
282 
283  // writing the value into the model
284  bool Commit();
285 
286  // Formatting the field data to output text
287  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) = 0;
288 
289  virtual void Update(){}
290  // Refresh the control by the field data
291  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) = 0;
292 
293  // painting a cell content in the specified rectangle
294  virtual void PaintFieldToCell( OutputDevice& rDev, const tools::Rectangle& rRect, const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter);
295  virtual void PaintCell( OutputDevice& _rDev, const tools::Rectangle& _rRect );
296 
297  void ImplInitWindow( vcl::Window const & rParent, const InitWindowFacet _eInitWhat );
298 
299  double GetValue(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) const;
300 
301 protected:
302  void invalidatedController();
303 
309  virtual bool commitControl( ) = 0;
310 
321  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) = 0;
322 
323 protected:
324 // OPropertyChangeListener
325  virtual void _propertyChanged(const css::beans::PropertyChangeEvent& evt) override;
326 
327 private:
328  void implDoPropertyListening( const OUString& _rPropertyName, bool _bWarnIfNotExistent );
329 
331  void implAdjustReadOnly( const css::uno::Reference< css::beans::XPropertySet >& _rxModel,bool i_bReadOnly );
332 
334  void implAdjustEnabled( const css::uno::Reference< css::beans::XPropertySet >& _rxModel );
335 };
336 
337 
339 {
341 }
342 
343 
345 {
346  OSL_ENSURE( !isValuePropertyLocked(), "DbCellControl::lockValueProperty: not to be nested!" );
348 }
349 
350 
352 {
353  OSL_ENSURE( isValuePropertyLocked(), "DbCellControl::lockValueProperty: not locked so far!" );
355 }
356 
357 
361 {
362 public:
363 
364 protected:
365  DbLimitedLengthField( DbGridColumn& _rColumn );
366 
367 protected:
368  // DbCellControl
369  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
370 
371 protected:
372  void implSetMaxTextLen( sal_Int16 _nMaxLen )
373  {
374  implSetEffectiveMaxTextLen(_nMaxLen);
375  }
376  virtual void implSetEffectiveMaxTextLen( sal_Int32 _nMaxLen );
377 };
378 
379 
381 {
382  std::unique_ptr<::svt::IEditImplementation> m_pEdit;
383  std::unique_ptr<::svt::IEditImplementation> m_pPainterImplementation;
385 
386 protected:
387  virtual ~DbTextField( ) override;
388 
389 public:
390  DbTextField(DbGridColumn& _rColumn);
391 
392  ::svt::IEditImplementation* GetEditImplementation() { return m_pEdit.get(); }
393  bool IsSimpleEdit() const { return m_bIsSimpleEdit; }
394 
395  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
396  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
397  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
398  virtual ::svt::CellControllerRef CreateController() const override;
399  virtual void PaintFieldToCell( OutputDevice& _rDev, const tools::Rectangle& _rRect,
400  const css::uno::Reference< css::sdb::XColumn >& _rxField,
401  const css::uno::Reference< css::util::XNumberFormatter >& _rxFormatter ) override;
402 
403 protected:
404  // DbCellControl
405  virtual bool commitControl( ) override;
406  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
407  // DbLimitedLengthField
408  virtual void implSetEffectiveMaxTextLen( sal_Int32 _nMaxLen ) override;
409 };
410 
411 
413 {
414 public:
415  DbFormattedField(DbGridColumn& _rColumn);
416  virtual ~DbFormattedField() override;
417 
418  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
419  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
420  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
421  virtual ::svt::CellControllerRef CreateController() const override;
422 
423 private:
424  // DbCellControl
425  virtual bool commitControl( ) override;
426  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
427 
428  // OPropertyChangeListener
429  virtual void _propertyChanged(const css::beans::PropertyChangeEvent& evt) override;
430 
431  css::uno::Reference< css::util::XNumberFormatsSupplier > m_xSupplier;
432 };
433 
434 
435 class DbCheckBox : public DbCellControl
436 {
437 public:
438  DbCheckBox(DbGridColumn& _rColumn);
439 
440  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
441  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
442  virtual ::svt::CellControllerRef CreateController() const override;
443  virtual void PaintFieldToCell(OutputDevice& rDev, const tools::Rectangle& rRect,
444  const css::uno::Reference< css::sdb::XColumn >& _rxField,
445  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
446  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
447 
448 protected:
449  // DbCellControl
450  virtual bool commitControl( ) override;
451  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
452 };
453 
454 
455 class DbComboBox : public DbCellControl
456 {
457 
458 public:
459  DbComboBox(DbGridColumn& _rColumn);
460 
461  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
462  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
463  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
464  virtual ::svt::CellControllerRef CreateController() const override;
465 
466  void SetList(const css::uno::Any& rItems);
467 
468 protected:
469  // DbCellControl
470  virtual bool commitControl( ) override;
471  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
472 
473  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
474 
475  // OPropertyChangeListener
476  virtual void _propertyChanged(const css::beans::PropertyChangeEvent& evt) override;
477 };
478 
479 
481 {
482  bool m_bBound : 1;
483  css::uno::Sequence< OUString > m_aValueList;
484 
485 public:
486  DbListBox(DbGridColumn& _rColumn);
487 
488  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
489  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
490  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
491  virtual ::svt::CellControllerRef CreateController() const override;
492 
493  void SetList(const css::uno::Any& rItems);
494 
495 protected:
496  // DbCellControl
497  virtual bool commitControl( ) override;
498  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
499 
500  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
501 
502  // OPropertyChangeListener
503  virtual void _propertyChanged(const css::beans::PropertyChangeEvent& evt) override;
504 };
505 
506 
508 {
509 public:
510  DbPatternField( DbGridColumn& _rColumn, const css::uno::Reference<css::uno::XComponentContext>& _rContext );
511  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
512  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
513  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
514  virtual ::svt::CellControllerRef CreateController() const override;
515 
516 protected:
518  virtual bool commitControl( ) override;
519  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
520 
521  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
522 
523 private:
524  OUString impl_formatText(const OUString& _rText);
525 
526 private:
527  ::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pValueFormatter;
528  ::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pPaintFormatter;
529  css::uno::Reference<css::uno::XComponentContext> m_xContext;
530 };
531 
532 
534 {
535 private:
536  sal_Int16 m_nStandardAlign;
537 
538 public:
539 
540 protected:
541  DbSpinField( DbGridColumn& _rColumn, sal_Int16 _nStandardAlign = css::awt::TextAlign::RIGHT );
542 
543 public:
544  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& _rxCursor ) override;
545  virtual ::svt::CellControllerRef CreateController() const override;
546 
547 protected:
549  BrowserDataWin* _pParent,
550  bool bSpinButton,
551  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
552  ) = 0;
553 };
554 
555 class DbDateField : public DbSpinField
556 {
557 public:
558  DbDateField(DbGridColumn& _rColumn);
559  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
560  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
561 
562 protected:
563  // DbCellControl
564  virtual bool commitControl( ) override;
565  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
566 
567  // DbSpinField
569  BrowserDataWin* _pParent,
570  bool bSpinButton,
571  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
572  ) override;
573 
575  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
576 };
577 
578 class DbTimeField : public DbSpinField
579 {
580 public:
581  DbTimeField(DbGridColumn& _rColumn);
582  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
583  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
584 
585 protected:
586  // DbCellControl
587  virtual bool commitControl( ) override;
588  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
589 
590  // DbSpinField
592  BrowserDataWin* _pParent,
593  bool bSpinButton,
594  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
595  ) override;
596 
598  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
599 };
600 
602 {
603 public:
604  DbCurrencyField(DbGridColumn& _rColumn);
605  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
606  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
607 
608 protected:
609  // DbCellControl
610  virtual bool commitControl( ) override;
611  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
612 
613  // DbSpinField
615  BrowserDataWin* _pParent,
616  bool bSpinButton,
617  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
618  ) override;
619 
621  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
622 };
623 
625 {
626 public:
627  DbNumericField(DbGridColumn& _rColumn);
628 
629  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
630  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
631 
632 protected:
633  // DbCellControl
634  virtual bool commitControl( ) override;
635  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
636 
637  // DbSpinField
639  BrowserDataWin* _pParent,
640  bool bSpinButton,
641  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
642  ) override;
643 
645  void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
646 };
647 
648 class DbFilterField final
649  :public DbCellControl
650  ,public ::svxform::OSQLParserClient
651 {
652 public:
653  DbFilterField(const css::uno::Reference< css::uno::XComponentContext >& rxContext, DbGridColumn& _rColumn);
654  virtual ~DbFilterField() override;
655 
656  virtual void Init( BrowserDataWin& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
657  virtual ::svt::CellControllerRef CreateController() const override;
658  virtual void PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect) override;
659  virtual void Update() override;
660  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, const Color** ppColor = nullptr) override;
661  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
662 
663  const OUString& GetText() const {return m_aText;}
664  void SetText(const OUString& rText);
665 
666  void SetCommitHdl( const Link<DbFilterField&,void>& rLink ) { m_aCommitLink = rLink; }
667 
668 private:
669  // DbCellControl
670  virtual bool commitControl( ) override;
671  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
672 
673  void SetList(const css::uno::Any& rItems, bool bComboBox);
674  void CreateControl(BrowserDataWin* pParent, const css::uno::Reference< css::beans::XPropertySet >& xModel);
675  DECL_LINK( OnClick, weld::Button&, void );
676 
677  css::uno::Sequence< OUString > m_aValueList;
678  OUString m_aText;
680  sal_Int16 m_nControlClass;
681  bool m_bFilterList : 1;
683 };
684 
685 
686 // Base class providing the access to a grid cell
687 
688 typedef ::cppu::ImplHelper2 < css::awt::XControl
689  , css::form::XBoundControl
691 typedef ::cppu::ImplHelper1 < css::awt::XWindow
694  ,public FmXGridCell_Base
695  ,public FmXGridCell_WindowBase
696 {
697 protected:
698  ::osl::Mutex m_aMutex;
700  std::unique_ptr<DbCellControl> m_pCellControl;
701 
702 private:
708 
709 protected:
710  virtual ~FmXGridCell() override;
711 
712 public:
713  FmXGridCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
714  void init();
715 
717  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
718 
719  void SetTextLineColor();
720  void SetTextLineColor(const Color& _rColor);
721 
722 // XTypeProvider
723  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
724  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
725 
726 // OComponentHelper
727  virtual void SAL_CALL disposing() override;
728 
729 // css::lang::XComponent
730  virtual void SAL_CALL dispose() override {OComponentHelper::dispose();}
731  virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener >& aListener) override { OComponentHelper::addEventListener(aListener);}
732  virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener >& aListener) override { OComponentHelper::removeEventListener(aListener);}
733 
734 // css::awt::XControl
735  virtual void SAL_CALL setContext(const css::uno::Reference< css::uno::XInterface >& /*Context*/) override {}
736  virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getContext() override;
737  virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit >& /*Toolkit*/, const css::uno::Reference< css::awt::XWindowPeer >& /*Parent*/) override {}
738 
739  virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override {return css::uno::Reference< css::awt::XWindowPeer > ();}
740  virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel >& /*Model*/) override {return false;}
741  virtual css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel() override;
742  virtual css::uno::Reference< css::awt::XView > SAL_CALL getView() override {return css::uno::Reference< css::awt::XView > ();}
743  virtual void SAL_CALL setDesignMode(sal_Bool /*bOn*/) override {}
744  virtual sal_Bool SAL_CALL isDesignMode() override {return false;}
745  virtual sal_Bool SAL_CALL isTransparent() override {return false;}
746 
747 // css::form::XBoundControl
748  virtual sal_Bool SAL_CALL getLock() override;
749  virtual void SAL_CALL setLock(sal_Bool _bLock) override;
750 
751  // XWindow
752  virtual void SAL_CALL setPosSize( ::sal_Int32 X, ::sal_Int32 Y, ::sal_Int32 Width, ::sal_Int32 Height, ::sal_Int16 Flags ) override;
753  virtual css::awt::Rectangle SAL_CALL getPosSize( ) override;
754  virtual void SAL_CALL setVisible( sal_Bool Visible ) override;
755  virtual void SAL_CALL setEnable( sal_Bool Enable ) override;
756  virtual void SAL_CALL setFocus( ) override;
757  virtual void SAL_CALL addWindowListener( const css::uno::Reference< css::awt::XWindowListener >& xListener ) override;
758  virtual void SAL_CALL removeWindowListener( const css::uno::Reference< css::awt::XWindowListener >& xListener ) override;
759  virtual void SAL_CALL addFocusListener( const css::uno::Reference< css::awt::XFocusListener >& xListener ) override;
760  virtual void SAL_CALL removeFocusListener( const css::uno::Reference< css::awt::XFocusListener >& xListener ) override;
761  virtual void SAL_CALL addKeyListener( const css::uno::Reference< css::awt::XKeyListener >& xListener ) override;
762  virtual void SAL_CALL removeKeyListener( const css::uno::Reference< css::awt::XKeyListener >& xListener ) override;
763  virtual void SAL_CALL addMouseListener( const css::uno::Reference< css::awt::XMouseListener >& xListener ) override;
764  virtual void SAL_CALL removeMouseListener( const css::uno::Reference< css::awt::XMouseListener >& xListener ) override;
765  virtual void SAL_CALL addMouseMotionListener( const css::uno::Reference< css::awt::XMouseMotionListener >& xListener ) override;
766  virtual void SAL_CALL removeMouseMotionListener( const css::uno::Reference< css::awt::XMouseMotionListener >& xListener ) override;
767  virtual void SAL_CALL addPaintListener( const css::uno::Reference< css::awt::XPaintListener >& xListener ) override;
768  virtual void SAL_CALL removePaintListener( const css::uno::Reference< css::awt::XPaintListener >& xListener ) override;
769 
770  bool Commit() {return m_pCellControl->Commit();}
771  void ImplInitWindow( vcl::Window const & rParent, const InitWindowFacet _eInitWhat )
772  { m_pCellControl->ImplInitWindow( rParent, _eInitWhat ); }
773 
774  bool isAlignedController() const { return m_pCellControl->isAlignedController(); }
775  void AlignControl(sal_Int16 nAlignment)
776  { m_pCellControl->AlignControl(nAlignment);}
777 
778 protected:
779  void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData );
780 
781  // default implementations call our focus listeners, don't forget to call them if you override this
782  virtual void onFocusGained( const css::awt::FocusEvent& _rEvent );
783  virtual void onFocusLost( const css::awt::FocusEvent& _rEvent );
784 
785 private:
786  vcl::Window* getEventWindow() const;
787  DECL_LINK( OnWindowEvent, VclWindowEvent&, void );
788 };
789 
790 
791 class FmXDataCell : public FmXGridCell
792 {
793 public:
794  FmXDataCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl )
795  :FmXGridCell( pColumn, std::move(pControl) )
796  {
797  }
798 
799  virtual void PaintFieldToCell(OutputDevice& rDev,
800  const tools::Rectangle& rRect,
801  const css::uno::Reference< css::sdb::XColumn >& xField,
802  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter);
803 
804  void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& xField,
805  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter)
806  { m_pCellControl->UpdateFromField(xField, xFormatter); }
807 
808 protected:
809  void UpdateFromColumn();
810 };
811 
812 
813 class FmXTextCell : public FmXDataCell
814 {
815 protected:
830 
831 public:
832  FmXTextCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
833 
834  virtual void PaintFieldToCell(OutputDevice& rDev,
835  const tools::Rectangle& rRect,
836  const css::uno::Reference< css::sdb::XColumn >& xField,
837  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
838 
839  OUString GetText(const css::uno::Reference< css::sdb::XColumn >& _rxField,
840  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter,
841  const Color** ppColor = nullptr)
842  {return m_pCellControl->GetFormatText(_rxField, xFormatter, ppColor);}
843 };
844 
845 
846 typedef ::cppu::ImplHelper2 < css::awt::XTextComponent
847  , css::form::XChangeBroadcaster
849 class FmXEditCell final : public FmXTextCell,
850  public FmXEditCell_Base
851 {
852 public:
853  FmXEditCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
854 
856  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
857 
858 // XTypeProvider
859  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
860  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
861 
862 // OComponentHelper
863  virtual void SAL_CALL disposing() override;
864 
865 // css::awt::XTextComponent
866  virtual void SAL_CALL addTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
867  virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
868  virtual void SAL_CALL setText(const OUString& aText) override;
869  virtual void SAL_CALL insertText(const css::awt::Selection& Sel, const OUString& Text) override;
870  virtual OUString SAL_CALL getText() override;
871  virtual OUString SAL_CALL getSelectedText() override;
872  virtual void SAL_CALL setSelection(const css::awt::Selection& aSelection) override;
873  virtual css::awt::Selection SAL_CALL getSelection() override;
874  virtual sal_Bool SAL_CALL isEditable() override;
875  virtual void SAL_CALL setEditable(sal_Bool bEditable) override;
876  virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override;
877  virtual sal_Int16 SAL_CALL getMaxTextLen() override;
878 
879  // XChangeBroadcaster
880  virtual void SAL_CALL addChangeListener( const css::uno::Reference< css::form::XChangeListener >& aListener ) override;
881  virtual void SAL_CALL removeChangeListener( const css::uno::Reference< css::form::XChangeListener >& aListener ) override;
882 
883 private:
884  virtual ~FmXEditCell() override;
885 
886  virtual void onFocusGained( const css::awt::FocusEvent& _rEvent ) override;
887  virtual void onFocusLost( const css::awt::FocusEvent& _rEvent ) override;
888 
889  DECL_LINK(ModifyHdl, LinkParamNone*, void);
890 
891  void onTextChanged();
892 
893  OUString m_sValueOnEnter;
896  ::svt::IEditImplementation* m_pEditImplementation;
898 };
899 
900 typedef ::cppu::ImplHelper2 < css::awt::XCheckBox
901  , css::awt::XButton
904  public FmXCheckBoxCell_Base
905 {
910 
911  DECL_LINK(ModifyHdl, LinkParamNone*, void);
912 
913 protected:
914  virtual ~FmXCheckBoxCell() override;
915 
916 public:
917  FmXCheckBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
918 
919 // UNO
921  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
922  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
923  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
924 
925 // OComponentHelper
926  virtual void SAL_CALL disposing() override;
927 
928 // css::awt::XCheckBox
929  virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
930  virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
931  virtual sal_Int16 SAL_CALL getState() override;
932  virtual void SAL_CALL setState(sal_Int16 n) override;
933  virtual void SAL_CALL setLabel(const OUString& Label) override;
934  virtual void SAL_CALL enableTriState(sal_Bool b) override;
935 
936  // XButton
937  virtual void SAL_CALL addActionListener( const css::uno::Reference< css::awt::XActionListener >& l ) override;
938  virtual void SAL_CALL removeActionListener( const css::uno::Reference< css::awt::XActionListener >& l ) override;
939  //virtual void SAL_CALL setLabel( const OUString& Label ) throw (css::uno::RuntimeException);
940  virtual void SAL_CALL setActionCommand( const OUString& Command ) override;
941 };
942 
943 typedef ::cppu::ImplHelper1 < css::awt::XListBox
945 class FmXListBoxCell final : public FmXTextCell
946  , public FmXListBoxCell_Base
947 {
948 public:
949  FmXListBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
950 
952  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
953  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
954  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
955 
956 // OComponentHelper
957  virtual void SAL_CALL disposing() override;
958 
959 // css::awt::XListBox
960  virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
961  virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
962  virtual void SAL_CALL addActionListener(const css::uno::Reference< css::awt::XActionListener >& l) override;
963  virtual void SAL_CALL removeActionListener(const css::uno::Reference< css::awt::XActionListener >& l) override;
964  virtual void SAL_CALL addItem(const OUString& aItem, sal_Int16 nPos) override;
965  virtual void SAL_CALL addItems(const css::uno::Sequence< OUString >& aItems, sal_Int16 nPos) override;
966  virtual void SAL_CALL removeItems(sal_Int16 nPos, sal_Int16 nCount) override;
967  virtual sal_Int16 SAL_CALL getItemCount() override;
968  virtual OUString SAL_CALL getItem(sal_Int16 nPos) override;
969  virtual css::uno::Sequence< OUString > SAL_CALL getItems() override;
970  virtual sal_Int16 SAL_CALL getSelectedItemPos() override;
971  virtual css::uno::Sequence< sal_Int16 > SAL_CALL getSelectedItemsPos() override;
972  virtual OUString SAL_CALL getSelectedItem() override;
973  virtual css::uno::Sequence< OUString > SAL_CALL getSelectedItems() override;
974  virtual void SAL_CALL selectItemPos(sal_Int16 nPos, sal_Bool bSelect) override;
975  virtual void SAL_CALL selectItemsPos(const css::uno::Sequence< sal_Int16 >& aPositions, sal_Bool bSelect) override;
976  virtual void SAL_CALL selectItem(const OUString& aItem, sal_Bool bSelect) override;
977  virtual sal_Bool SAL_CALL isMutipleMode() override;
978  virtual void SAL_CALL setMultipleMode(sal_Bool bMulti) override;
979  virtual sal_Int16 SAL_CALL getDropDownLineCount() override;
980  virtual void SAL_CALL setDropDownLineCount(sal_Int16 nLines) override;
981  virtual void SAL_CALL makeVisible(sal_Int16 nEntry) override;
982 
983 private:
984  virtual ~FmXListBoxCell() override;
985 
986  DECL_LINK(ChangedHdl, LinkParamNone*, void);
987 
988  void OnDoubleClick();
989 
993  sal_uInt16 m_nLines;
994  bool m_bMulti;
995 };
996 
997 
998 typedef ::cppu::ImplHelper1 < css::awt::XComboBox
1000 class FmXComboBoxCell final : public FmXTextCell
1001  , public FmXComboBoxCell_Base
1002 {
1003 private:
1007  sal_uInt16 m_nLines;
1008 
1009  DECL_LINK(ChangedHdl, LinkParamNone*, void);
1010 
1011  virtual ~FmXComboBoxCell() override;
1012 
1013 public:
1014  FmXComboBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
1015 
1017  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
1018  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
1019  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
1020 
1021  // OComponentHelper
1022  virtual void SAL_CALL disposing() override;
1023 
1024  // XComboBox
1025  virtual void SAL_CALL addItemListener( const css::uno::Reference< css::awt::XItemListener >& Listener ) override;
1026  virtual void SAL_CALL removeItemListener( const css::uno::Reference< css::awt::XItemListener >& Listener ) override;
1027  virtual void SAL_CALL addActionListener( const css::uno::Reference< css::awt::XActionListener >& Listener ) override;
1028  virtual void SAL_CALL removeActionListener( const css::uno::Reference< css::awt::XActionListener >& Listener ) override;
1029  virtual void SAL_CALL addItem( const OUString& Item, ::sal_Int16 Pos ) override;
1030  virtual void SAL_CALL addItems( const css::uno::Sequence< OUString >& Items, ::sal_Int16 Pos ) override;
1031  virtual void SAL_CALL removeItems( ::sal_Int16 nPos, ::sal_Int16 nCount ) override;
1032  virtual ::sal_Int16 SAL_CALL getItemCount( ) override;
1033  virtual OUString SAL_CALL getItem( ::sal_Int16 Pos ) override;
1034  virtual css::uno::Sequence< OUString > SAL_CALL getItems( ) override;
1035  virtual ::sal_Int16 SAL_CALL getDropDownLineCount( ) override;
1036  virtual void SAL_CALL setDropDownLineCount( ::sal_Int16 Lines ) override;
1037 };
1038 
1039 typedef ::cppu::ImplHelper2 < css::awt::XTextComponent
1040  , css::lang::XUnoTunnel
1042 class FmXFilterCell final : public FmXGridCell
1043  ,public FmXFilterCell_Base
1044 {
1045 public:
1046  FmXFilterCell(DbGridColumn* pColumn, std::unique_ptr<DbFilterField> pControl);
1047 
1048 
1050  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
1051  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
1052  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
1053 
1054 // XUnoTunnel
1055  virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) override;
1056 
1057 // helpers for XUnoTunnel
1058  static const css::uno::Sequence<sal_Int8>& getUnoTunnelId();
1059 
1060 // painting the filter text
1061  void PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect);
1062  void Update(){m_pCellControl->Update();}
1063 
1064 // OComponentHelper
1065  virtual void SAL_CALL disposing() override;
1066 
1067 // css::awt::XTextComponent
1068  virtual void SAL_CALL addTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
1069  virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
1070  virtual void SAL_CALL setText(const OUString& aText) override;
1071  virtual void SAL_CALL insertText(const css::awt::Selection& Sel, const OUString& Text) override;
1072  virtual OUString SAL_CALL getText() override;
1073  virtual OUString SAL_CALL getSelectedText() override;
1074  virtual void SAL_CALL setSelection(const css::awt::Selection& aSelection) override;
1075  virtual css::awt::Selection SAL_CALL getSelection() override;
1076  virtual sal_Bool SAL_CALL isEditable() override;
1077  virtual void SAL_CALL setEditable(sal_Bool bEditable) override;
1078  virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override;
1079  virtual sal_Int16 SAL_CALL getMaxTextLen() override;
1080 
1081 private:
1082  DECL_LINK( OnCommit, DbFilterField&, void );
1083  virtual ~FmXFilterCell() override;
1084 
1086 };
1087 
1088 #endif // INCLUDED_SVX_SOURCE_INC_GRIDCELL_HXX
1089 
1090 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const css::uno::Reference< css::beans::XPropertySet > & getModel() const
Definition: gridcell.hxx:122
Type
virtual sal_Int16 SAL_CALL getState() override
Definition: gridcell.cxx:3822
::osl::Mutex m_aMutex
Definition: gridcell.hxx:698
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:2205
void implValuePropertyChanged()
Definition: gridcell.cxx:617
bool m_bNumeric
Definition: gridcell.hxx:93
virtual void SAL_CALL removeMouseListener(const css::uno::Reference< css::awt::XMouseListener > &xListener) override
Definition: gridcell.cxx:3305
void UpdateControl()
Definition: gridcell.hxx:152
virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener > &l) override
Definition: gridcell.cxx:3801
void ImplInitWindow(vcl::Window const &rParent, const InitWindowFacet _eInitWhat)
Definition: gridcell.cxx:695
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2761
virtual void SAL_CALL enableTriState(sal_Bool b) override
Definition: gridcell.cxx:3834
bool m_bObject
Definition: gridcell.hxx:94
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1752
virtual void SAL_CALL addActionListener(const css::uno::Reference< css::awt::XActionListener > &l) override
Definition: gridcell.cxx:3842
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1676
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:1955
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel)=0
updates the current content of the control (e.g.
virtual css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel() override
Definition: gridcell.cxx:3193
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1190
DbCurrencyField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1997
std::unique_ptr<::svt::IEditImplementation > m_pEdit
Definition: gridcell.hxx:382
virtual void SAL_CALL setSelection(const css::awt::Selection &aSelection) override
Definition: gridcell.cxx:3658
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3575
bool m_bTransparent
Definition: gridcell.hxx:205
FmXTextCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3464
::cppu::ImplHelper2< css::awt::XControl, css::form::XBoundControl > FmXGridCell_Base
Definition: gridcell.hxx:690
DbComboBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2356
DbGridColumn * m_pColumn
Definition: gridcell.hxx:699
Flags
vcl::Window & GetWindow() const
Definition: gridcell.hxx:266
bool m_bAccessingValueProperty
Definition: gridcell.hxx:207
::comphelper::OInterfaceContainerHelper2 m_aFocusListeners
Definition: gridcell.hxx:704
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr)=0
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1226
a field which is bound to a column which supports the MaxTextLen property
Definition: gridcell.hxx:360
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1132
virtual void implSetEffectiveMaxTextLen(sal_Int32 _nMaxLen) override
Definition: gridcell.cxx:1207
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2434
DECL_LINK(ModifyHdl, LinkParamNone *, void)
virtual void implSetEffectiveMaxTextLen(sal_Int32 _nMaxLen)
Definition: gridcell.cxx:1022
void CreateControl(BrowserDataWin *pParent, const css::uno::Reference< css::beans::XPropertySet > &xModel)
Definition: gridcell.cxx:2673
DbPatternField(DbGridColumn &_rColumn, const css::uno::Reference< css::uno::XComponentContext > &_rContext)
Definition: gridcell.cxx:1717
virtual ~DbFormattedField() override
Definition: gridcell.cxx:1222
void setLock(bool _bLock)
Definition: gridcell.cxx:384
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:906
signed char sal_Int8
sal_Int16 m_nControlClass
Definition: gridcell.hxx:680
::cppu::ImplHelper2< css::awt::XCheckBox, css::awt::XButton > FmXCheckBoxCell_Base
Definition: gridcell.hxx:902
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2723
void SetList(const css::uno::Any &rItems)
Definition: gridcell.cxx:2377
virtual OUString SAL_CALL getText() override
Definition: gridcell.cxx:3622
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2560
::cppu::ImplHelper2< css::awt::XTextComponent, css::form::XChangeBroadcaster > FmXEditCell_Base
Definition: gridcell.hxx:848
FmXEditCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3518
virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override
Definition: gridcell.cxx:3699
virtual sal_Bool SAL_CALL isDesignMode() override
Definition: gridcell.hxx:744
virtual void SAL_CALL setVisible(sal_Bool Visible) override
Definition: gridcell.cxx:3235
sal_Int16 m_nFieldType
Definition: gridcell.hxx:85
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1981
void ImplInitWindow(vcl::Window const &rParent, const InitWindowFacet _eInitWhat)
Definition: gridcell.cxx:510
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1508
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:1440
exports com.sun.star. awt
void CreateControl(sal_Int32 _nFieldPos, const css::uno::Reference< css::beans::XPropertySet > &xField, sal_Int32 nTypeId)
Definition: gridcell.cxx:136
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2589
virtual void SAL_CALL setEditable(sal_Bool bEditable) override
Definition: gridcell.cxx:3684
sal_Int32 m_nFormatKey
Definition: gridcell.hxx:84
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1574
void implSetMaxTextLen(sal_Int16 _nMaxLen)
Definition: gridcell.hxx:372
sal_Int32 m_nLastVisibleWidth
Definition: gridcell.hxx:83
sal_Int16 GetFieldPos() const
Definition: gridcell.hxx:130
const css::uno::Reference< css::sdbc::XRowSet > & getCursor() const
Definition: gridcell.hxx:219
void init()
Definition: gridcell.cxx:3096
virtual void PaintCell(OutputDevice &_rDev, const tools::Rectangle &_rRect)
Definition: gridcell.cxx:952
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL removeFocusListener(const css::uno::Reference< css::awt::XFocusListener > &xListener) override
Definition: gridcell.cxx:3277
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:2535
virtual void SAL_CALL addKeyListener(const css::uno::Reference< css::awt::XKeyListener > &xListener) override
Definition: gridcell.cxx:3284
sal_Int16 m_nStandardAlign
Definition: gridcell.hxx:536
virtual void SAL_CALL addWindowListener(const css::uno::Reference< css::awt::XWindowListener > &xListener) override
Definition: gridcell.cxx:3256
sal_Int16 SetAlignmentFromModel(sal_Int16 nStandardAlign)
Definition: gridcell.cxx:371
virtual void PaintFieldToCell(OutputDevice &_rDev, const tools::Rectangle &_rRect, const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &_rxFormatter) override
Definition: gridcell.cxx:1137
virtual void SAL_CALL addPaintListener(const css::uno::Reference< css::awt::XPaintListener > &xListener) override
Definition: gridcell.cxx:3326
rtl::Reference< FmXGridCell > m_pCell
Definition: gridcell.hxx:77
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2399
DbLimitedLengthField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1003
::comphelper::OInterfaceContainerHelper2 m_aTextListeners
Definition: gridcell.hxx:1085
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor)
Definition: gridcell.cxx:829
bool IsNumeric() const
Definition: gridcell.hxx:131
bool m_bLocked
Definition: gridcell.hxx:96
DbCellControl(DbGridColumn &_rColumn)
Definition: gridcell.cxx:520
void implAdjustReadOnly(const css::uno::Reference< css::beans::XPropertySet > &_rxModel, bool i_bReadOnly)
updates the "readonly" setting on m_pWindow, according to the respective property value in the given ...
Definition: gridcell.cxx:798
bool IsAutoValue() const
Definition: gridcell.hxx:128
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2228
virtual void SAL_CALL setActionCommand(const OUString &Command) override
Definition: gridcell.cxx:3863
css::uno::Sequence< OUString > m_aValueList
Definition: gridcell.hxx:677
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1041
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2080
sal_uInt16 m_nLines
Definition: gridcell.hxx:993
::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pPaintFormatter
Definition: gridcell.hxx:528
FmXGridCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3083
virtual void SAL_CALL removeKeyListener(const css::uno::Reference< css::awt::XKeyListener > &xListener) override
Definition: gridcell.cxx:3291
css::uno::Reference< css::sdb::XColumn > GetCurrentFieldValue() const
Definition: gridcell.cxx:431
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &_rxCursor) override
Definition: gridcell.cxx:1832
VclPtr< vcl::Window > m_pPainter
Definition: gridcell.hxx:214
virtual void onFocusGained(const css::awt::FocusEvent &_rEvent)
Definition: gridcell.cxx:3345
css::uno::Reference< css::uno::XComponentContext > m_xContext
Definition: gridcell.hxx:529
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getContext() override
Definition: gridcell.cxx:3187
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:2365
virtual bool commitControl()=0
commits the content of the control (e.g.
::svt::IEditImplementation * m_pEditImplementation
Definition: gridcell.hxx:896
::comphelper::OInterfaceContainerHelper2 m_aChangeListeners
Definition: gridcell.hxx:895
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2421
virtual void SAL_CALL setText(const OUString &aText) override
Definition: gridcell.cxx:3597
bool isTransparent() const
Definition: gridcell.hxx:222
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3138
void implAdjustEnabled(const css::uno::Reference< css::beans::XPropertySet > &_rxModel)
updates the "enabled" setting on m_pWindow, according to the respective property value in the given m...
Definition: gridcell.cxx:817
const css::uno::Reference< css::beans::XPropertySet > & GetField() const
Definition: gridcell.hxx:135
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:2075
css::uno::Reference< css::sdbc::XRowSet > m_xCursor
Definition: gridcell.hxx:210
virtual void Update() override
Definition: gridcell.cxx:2922
DECL_LINK(ModifyHdl, LinkParamNone *, void)
void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
initializes everything which relates to the properties describing the numeric behaviour ...
Definition: gridcell.cxx:1869
int nCount
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2793
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2215
virtual void SAL_CALL addChangeListener(const css::uno::Reference< css::form::XChangeListener > &aListener) override
Definition: gridcell.cxx:3707
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:1778
bool m_bIsSimpleEdit
Definition: gridcell.hxx:384
VclEventId
void SetCommitHdl(const Link< DbFilterField &, void > &rLink)
Definition: gridcell.hxx:666
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2453
virtual sal_Bool SAL_CALL isEditable() override
Definition: gridcell.cxx:3677
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1800
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1616
virtual void SAL_CALL addMouseMotionListener(const css::uno::Reference< css::awt::XMouseMotionListener > &xListener) override
Definition: gridcell.cxx:3312
::comphelper::OInterfaceContainerHelper2 m_aMouseListeners
Definition: gridcell.hxx:706
virtual void SAL_CALL insertText(const css::awt::Selection &Sel, const OUString &Text) override
Definition: gridcell.cxx:3611
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:1004
::svt::CellControllerRef s_xEmptyController
Definition: gridcell.hxx:98
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2340
sal_Int16 m_nAlign
Definition: gridcell.hxx:89
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: gridcell.hxx:732
bool m_bFilterList
Definition: gridcell.hxx:681
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1960
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: gridcell.hxx:731
DbGridColumn(sal_uInt16 _nId, DbGridControl &rParent)
Definition: gridcell.hxx:101
sal_Int16 GetAlignment() const
Definition: gridcell.hxx:129
bool isAlignedController() const
Definition: gridcell.hxx:273
bool m_bInSave
Definition: gridcell.hxx:92
OUString m_aText
Definition: gridcell.hxx:678
DbGridControl & m_rParent
Definition: gridcell.hxx:80
bool Commit()
Definition: gridcell.cxx:267
::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pValueFormatter
Definition: gridcell.hxx:527
OComponentHelper(::osl::Mutex &rMutex)
::comphelper::OInterfaceContainerHelper2 m_aMouseMotionListeners
Definition: gridcell.hxx:707
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:3041
void AlignControl(sal_Int16 nAlignment)
Definition: gridcell.hxx:775
virtual void SAL_CALL addFocusListener(const css::uno::Reference< css::awt::XFocusListener > &xListener) override
Definition: gridcell.cxx:3270
DbFilterField(const css::uno::Reference< css::uno::XComponentContext > &rxContext, DbGridColumn &_rColumn)
Definition: gridcell.cxx:2605
OUString m_sValueOnEnter
Definition: gridcell.hxx:893
void setAlignedController(bool _bAlign)
Definition: gridcell.hxx:226
virtual void SAL_CALL setFocus() override
Definition: gridcell.cxx:3249
virtual void SAL_CALL addMouseListener(const css::uno::Reference< css::awt::XMouseListener > &xListener) override
Definition: gridcell.cxx:3298
void SetList(const css::uno::Any &rItems)
Definition: gridcell.cxx:2485
void implDoPropertyListening(const OUString &_rPropertyName, bool _bWarnIfNotExistent)
Definition: gridcell.cxx:571
bool m_bFastPaint
determines whether the text of this cell can be painted directly, without using the painter control ...
Definition: gridcell.hxx:829
virtual void SAL_CALL removeWindowListener(const css::uno::Reference< css::awt::XWindowListener > &xListener) override
Definition: gridcell.cxx:3263
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3157
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3790
virtual void Init(BrowserDataWin &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2511
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3552
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel)
Definition: gridcell.cxx:630
virtual void SAL_CALL dispose() override
Definition: gridcell.hxx:730
virtual void SAL_CALL setLock(sal_Bool _bLock) override
Definition: gridcell.cxx:3208
DbGridControl & GetParent() const
Definition: gridcell.hxx:136
virtual VclPtr< Control > createField(BrowserDataWin *_pParent, bool bSpinButton, const css::uno::Reference< css::beans::XPropertySet > &_rxModel)=0
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
initializes everything which relates to the properties describing the numeric behaviour ...
Definition: gridcell.cxx:2009
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3565
DECL_LINK(OnWindowEvent, VclWindowEvent &, void)
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1726
virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel > &) override
Definition: gridcell.hxx:740
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2525
unsigned char sal_Bool
css::uno::Sequence< OUString > m_aValueList
Definition: gridcell.hxx:483
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3766
DbDateField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2117
virtual sal_Bool SAL_CALL isTransparent() override
Definition: gridcell.hxx:745
void SetTextLineColor()
Definition: gridcell.cxx:888
::cppu::ImplHelper1< css::awt::XComboBox > FmXComboBoxCell_Base
Definition: gridcell.hxx:999
virtual void onFocusLost(const css::awt::FocusEvent &_rEvent) override
Definition: gridcell.cxx:3730
void onWindowEvent(const VclEventId _nEventId, const vcl::Window &_rWindow, const void *_pEventData)
Definition: gridcell.cxx:3359
virtual void SAL_CALL removeMouseMotionListener(const css::uno::Reference< css::awt::XMouseMotionListener > &xListener) override
Definition: gridcell.cxx:3319
virtual void PaintFieldToCell(OutputDevice &rDev, const tools::Rectangle &rRect, const css::uno::Reference< css::sdb::XColumn > &xField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:3471
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2570
bool m_bBound
Definition: gridcell.hxx:482
void invalidatedController()
Definition: gridcell.cxx:996
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1853
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:3046
vcl::Window * getEventWindow() const
Definition: gridcell.cxx:3104
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2784
::comphelper::OInterfaceContainerHelper2 m_aActionListeners
Definition: gridcell.hxx:907
DECL_LINK(OnClick, weld::Button &, void)
void unlockValueProperty()
unlocks the listening at the value property
Definition: gridcell.hxx:351
DbGridColumn & m_rColumn
Definition: gridcell.hxx:213
virtual void SAL_CALL setPosSize(::sal_Int32 X,::sal_Int32 Y,::sal_Int32 Width,::sal_Int32 Height,::sal_Int16 Flags) override
Definition: gridcell.cxx:3221
virtual ~FmXCheckBoxCell() override
Definition: gridcell.cxx:3756
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:990
bool isLocked() const
Definition: gridcell.hxx:182
FmXDataCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.hxx:794
css::uno::Reference< css::beans::XPropertySet > m_xModel
Definition: gridcell.hxx:72
void UpdateFromColumn()
Definition: gridcell.cxx:3456
bool m_bReadOnly
Definition: gridcell.hxx:90
virtual void PaintCell(OutputDevice &rDev, const tools::Rectangle &rRect) override
Definition: gridcell.cxx:2623
sal_Int32 GetKey() const
Definition: gridcell.hxx:133
virtual void SAL_CALL setState(sal_Int16 n) override
Definition: gridcell.cxx:3811
bool isAlignedController() const
Definition: gridcell.hxx:774
::svt::IEditImplementation * GetEditImplementation()
Definition: gridcell.hxx:392
TextAlign
virtual VclPtr< Control > createField(BrowserDataWin *_pParent, bool bSpinButton, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2127
DbSpinField(DbGridColumn &_rColumn, sal_Int16 _nStandardAlign=css::awt::TextAlign::RIGHT)
Definition: gridcell.cxx:1826
DbCheckBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1595
virtual ~FmXEditCell() override
Definition: gridcell.cxx:3542
#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass)
void Clear()
Definition: gridcell.cxx:305
virtual void SAL_CALL removePaintListener(const css::uno::Reference< css::awt::XPaintListener > &xListener) override
Definition: gridcell.cxx:3332
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1705
void impl_toggleScriptManager_nothrow(bool _bAttach)
attaches or detaches our cell object to the SctriptEventAttacherManager implemented by our model's pa...
Definition: gridcell.cxx:235
DbTimeField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2244
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1550
::comphelper::OInterfaceContainerHelper2 m_aKeyListeners
Definition: gridcell.hxx:705
virtual css::uno::Reference< css::awt::XView > SAL_CALL getView() override
Definition: gridcell.hxx:742
sal_uInt16 m_nId
Definition: gridcell.hxx:87
#define ENSURE_OR_THROW(c, m)
virtual VclPtr< Control > createField(BrowserDataWin *_pParent, bool bSpinButton, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2044
::cppu::ImplHelper1< css::awt::XWindow > FmXGridCell_WindowBase
Definition: gridcell.hxx:692
void setModel(const css::uno::Reference< css::beans::XPropertySet > &_xModel)
Definition: gridcell.cxx:293
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2085
virtual void SAL_CALL setContext(const css::uno::Reference< css::uno::XInterface > &) override
Definition: gridcell.hxx:735
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:2426
bool m_bAutoValue
Definition: gridcell.hxx:91
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2321
const sal_uInt32 LEFT
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
initializes everything which relates to the properties describing the numeric behaviour ...
Definition: gridcell.cxx:2258
virtual ~DbFilterField() override
Definition: gridcell.cxx:2616
void onTextChanged()
Definition: gridcell.cxx:3717
void SetText(const OUString &rText)
Definition: gridcell.cxx:2882
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2326
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2394
virtual sal_Int16 SAL_CALL getMaxTextLen() override
Definition: gridcell.cxx:3692
DbNumericField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1858
virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener > &l) override
Definition: gridcell.cxx:3592
void UpdateFromField(const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:257
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:636
virtual void PaintFieldToCell(OutputDevice &rDev, const tools::Rectangle &rRect, const css::uno::Reference< css::sdb::XColumn > &xField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:3448
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1165
virtual bool commitControl() override
DbCellControl.
Definition: gridcell.cxx:1819
virtual ~DbCellControl() override
Definition: gridcell.cxx:608
virtual void PaintFieldToCell(OutputDevice &rDev, const tools::Rectangle &rRect, const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:958
VclPtr<::svt::CheckBoxControl > m_pBox
Definition: gridcell.hxx:909
void setTransparent(bool _bSet)
Definition: gridcell.hxx:223
bool isValuePropertyLocked() const
determined whether or not the value property is locked
Definition: gridcell.hxx:338
void doPropertyListening(const OUString &_rPropertyName)
Definition: gridcell.cxx:593
void SetTextLineColor()
Definition: gridcell.cxx:3123
bool Commit()
Definition: gridcell.hxx:770
virtual sal_Bool SAL_CALL getLock() override
Definition: gridcell.cxx:3201
const OUString & GetText() const
Definition: gridcell.hxx:663
sal_Int16 m_nFieldPos
Definition: gridcell.hxx:88
bool IsReadOnly() const
Definition: gridcell.hxx:127
OUString GetText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr)
Definition: gridcell.hxx:839
::svt::CellControllerRef m_xController
Definition: gridcell.hxx:74
Link< DbFilterField &, void > m_aCommitLink
Definition: gridcell.hxx:679
OUString GetCellText(const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) const
VclPtr<::svt::ListBoxControl > m_pBox
Definition: gridcell.hxx:992
virtual void SAL_CALL setLabel(const OUString &Label) override
Definition: gridcell.cxx:3853
bool m_bFilterListFilled
Definition: gridcell.hxx:682
DbTextField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1029
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2440
void Paint(OutputDevice &rDev, const tools::Rectangle &rRect, const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:443
virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override
Definition: gridcell.hxx:739
sal_uInt16 m_nLines
Definition: gridcell.hxx:1007
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3779
std::unique_ptr<::svt::IEditImplementation > m_pPainterImplementation
Definition: gridcell.hxx:383
VclPtr< vcl::Window > m_pWindow
Definition: gridcell.hxx:215
FmXCheckBoxCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3747
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2210
virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener > &l) override
Definition: gridcell.cxx:3806
virtual void Update()
Definition: gridcell.hxx:289
DbFormattedField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1215
css::uno::Reference< css::beans::XPropertySet > m_xField
Definition: gridcell.hxx:73
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:1145
bool m_bHidden
Definition: gridcell.hxx:95
bool IsSimpleEdit() const
Definition: gridcell.hxx:393
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2101
void SetList(const css::uno::Any &rItems, bool bComboBox)
Definition: gridcell.cxx:2648
virtual VclPtr< Control > createField(BrowserDataWin *_pParent, bool bSpinButton, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2253
sal_Int16 m_nTypeId
Definition: gridcell.hxx:86
css::uno::Reference< css::util::XNumberFormatsSupplier > m_xSupplier
Definition: gridcell.hxx:431
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)=0
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1765
virtual css::awt::Selection SAL_CALL getSelection() override
Definition: gridcell.cxx:3666
::comphelper::OInterfaceContainerHelper2 m_aTextListeners
Definition: gridcell.hxx:894
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:2316
virtual void SAL_CALL setDesignMode(sal_Bool) override
Definition: gridcell.hxx:743
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1807
std::unique_ptr< DbCellControl > m_pCellControl
Definition: gridcell.hxx:700
virtual OUString SAL_CALL getSelectedText() override
Definition: gridcell.cxx:3645
bool IsHidden() const
Definition: gridcell.hxx:132
virtual void PaintFieldToCell(OutputDevice &rDev, const tools::Rectangle &rRect, const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1681
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1435
::osl::Mutex m_aMutex
Definition: gridcell.hxx:62
InitWindowFacet
Definition: gridctrl.hxx:115
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1171
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2530
void SetObject(sal_Int16 nPos)
Definition: gridcell.hxx:169
virtual ~DbTextField() override
Definition: gridcell.cxx:1035
virtual void onFocusLost(const css::awt::FocusEvent &_rEvent)
Definition: gridcell.cxx:3352
virtual ~FmXGridCell() override
Definition: gridcell.cxx:3112
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:1712
virtual VclPtr< Control > createField(BrowserDataWin *_pParent, bool bSpinButton, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1924
void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &xField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.hxx:804
rtl::Reference<::comphelper::OPropertyChangeMultiplexer > m_pFieldChangeBroadcaster
Definition: gridcell.hxx:202
virtual void SAL_CALL removeChangeListener(const css::uno::Reference< css::form::XChangeListener > &aListener) override
Definition: gridcell.cxx:3712
OUString m_aActionCommand
Definition: gridcell.hxx:908
sal_Int16 SetAlignment(sal_Int16 _nAlign)
Definition: gridcell.cxx:326
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, const Color **ppColor=nullptr) override
Definition: gridcell.cxx:1458
double GetValue(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) const
Definition: gridcell.cxx:964
bool m_bAlignedController
Definition: gridcell.hxx:206
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1696
virtual void SAL_CALL setEnable(sal_Bool Enable) override
Definition: gridcell.cxx:3242
VclPtr<::svt::ComboBoxControl > m_pComboBox
Definition: gridcell.hxx:1006
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3172
virtual void onFocusGained(const css::awt::FocusEvent &_rEvent) override
Definition: gridcell.cxx:3724
sal_uInt16 GetId() const
Definition: gridcell.hxx:126
virtual void SAL_CALL addTextListener(const css::uno::Reference< css::awt::XTextListener > &l) override
Definition: gridcell.cxx:3586
const ::svt::CellControllerRef & GetController() const
Definition: gridcell.hxx:134
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1651
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1010
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1965
rtl::Reference<::comphelper::OPropertyChangeMultiplexer > m_pModelChangeBroadcaster
Definition: gridcell.hxx:201
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:2473
sal_uInt16 nPos
OUString impl_formatText(const OUString &_rText)
Definition: gridcell.cxx:1770
virtual css::awt::Rectangle SAL_CALL getPosSize() override
Definition: gridcell.cxx:3228
void SetReadOnly(bool bRead)
Definition: gridcell.hxx:168
bool m_bOwnEditImplementation
Definition: gridcell.hxx:897
::comphelper::OInterfaceContainerHelper2 m_aWindowListeners
Definition: gridcell.hxx:703
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
initializes everything which relates to the properties describing the numeric behaviour ...
Definition: gridcell.cxx:2138
virtual void SAL_CALL removeActionListener(const css::uno::Reference< css::awt::XActionListener > &l) override
Definition: gridcell.cxx:3848
bool Commit()
Definition: gridcell.cxx:675
DbListBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2463
void lockValueProperty()
locks the listening at the value property.
Definition: gridcell.hxx:344
void ImplInitWindow(vcl::Window const &rParent, const InitWindowFacet _eInitWhat)
Definition: gridcell.hxx:771
virtual ::svt::CellControllerRef CreateController() const =0
FmXGridCell * GetCell() const
Definition: gridcell.hxx:137
void AlignControl(sal_Int16 nAlignment)
Definition: gridcell.cxx:932
virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit > &, const css::uno::Reference< css::awt::XWindowPeer > &) override
Definition: gridcell.hxx:737