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/beans/XFastPropertySet.hpp>
39 #include <com/sun/star/lang/XUnoTunnel.hpp>
40 #include <com/sun/star/form/XChangeBroadcaster.hpp>
41 #include <com/sun/star/awt/XWindow.hpp>
42 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
43 
46 #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 const 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( vcl::Window& 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, 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 ? _nMaxLen : EDIT_NOLIMIT );
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 
393  bool IsSimpleEdit() const { return m_bIsSimpleEdit; }
394 
395  virtual void Init( vcl::Window& 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, 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( vcl::Window& 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, 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( vcl::Window& 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, 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( vcl::Window& 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, 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( vcl::Window& 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, 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( vcl::Window& 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, 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 const 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( vcl::Window& rParent, const css::uno::Reference< css::sdbc::XRowSet >& _rxCursor ) override;
545  virtual ::svt::CellControllerRef CreateController() const override;
546 
547 protected:
549  vcl::Window* _pParent,
550  WinBits _nFieldStyle,
551  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
552  ) = 0;
553 };
554 
555 
556 class DbDateField : public DbSpinField
557 {
558 public:
559  DbDateField(DbGridColumn& _rColumn);
560  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, Color** ppColor = nullptr) override;
561  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
562 
563 protected:
564  // DbCellControl
565  virtual bool commitControl( ) override;
566  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
567 
568  // DbSpinField
570  vcl::Window* _pParent,
571  WinBits _nFieldStyle,
572  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
573  ) override;
574 
576  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
577 };
578 
579 
580 class DbTimeField : public DbSpinField
581 {
582 public:
583  DbTimeField(DbGridColumn& _rColumn);
584  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, Color** ppColor = nullptr) override;
585  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
586 
587 protected:
588  // DbCellControl
589  virtual bool commitControl( ) override;
590  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
591 
592  // DbSpinField
594  vcl::Window* _pParent,
595  WinBits _nFieldStyle,
596  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
597  ) override;
598 
600  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
601 };
602 
603 
605 {
606  sal_Int16 m_nScale;
607 
608 public:
609  DbCurrencyField(DbGridColumn& _rColumn);
610  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, Color** ppColor = nullptr) override;
611  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
612 
613  double GetCurrency(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) const;
614 
615 protected:
616  // DbCellControl
617  virtual bool commitControl( ) override;
618  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
619 
620  // DbSpinField
622  vcl::Window* _pParent,
623  WinBits _nFieldStyle,
624  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
625  ) override;
626 
628  virtual void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
629 };
630 
631 
633 {
634 public:
635  DbNumericField(DbGridColumn& _rColumn);
636  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, Color** ppColor = nullptr) override;
637  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
638 
639 protected:
640  // DbCellControl
641  virtual bool commitControl( ) override;
642  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
643 
644  // DbSpinField
646  vcl::Window* _pParent,
647  WinBits _nFieldStyle,
648  const css::uno::Reference< css::beans::XPropertySet >& _rxModel
649  ) override;
650 
652  void implAdjustGenericFieldSetting( const css::uno::Reference< css::beans::XPropertySet >& _rxModel ) override;
653 };
654 
655 
656 class DbFilterField final
657  :public DbCellControl
659 {
660 public:
661  DbFilterField(const css::uno::Reference< css::uno::XComponentContext >& rxContext, DbGridColumn& _rColumn);
662  virtual ~DbFilterField() override;
663 
664  virtual void Init( vcl::Window& rParent, const css::uno::Reference< css::sdbc::XRowSet >& xCursor ) override;
665  virtual ::svt::CellControllerRef CreateController() const override;
666  virtual void PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect) override;
667  virtual void Update() override;
668  virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter, Color** ppColor = nullptr) override;
669  virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& _rxField, const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
670 
671  const OUString& GetText() const {return m_aText;}
672  void SetText(const OUString& rText);
673 
674  void SetCommitHdl( const Link<DbFilterField&,void>& rLink ) { m_aCommitLink = rLink; }
675 
676 private:
677  // DbCellControl
678  virtual bool commitControl( ) override;
679  virtual void updateFromModel( css::uno::Reference< css::beans::XPropertySet > _rxModel ) override;
680 
681  void SetList(const css::uno::Any& rItems, bool bComboBox);
682  void CreateControl(vcl::Window* pParent, const css::uno::Reference< css::beans::XPropertySet >& xModel);
683  DECL_LINK( OnClick, VclPtr<CheckBox>, void );
684 
685  css::uno::Sequence< OUString > m_aValueList;
686  OUString m_aText;
688  sal_Int16 m_nControlClass;
689  bool m_bFilterList : 1;
691 };
692 
693 
694 // Base class providing the access to a grid cell
695 
696 typedef ::cppu::ImplHelper2 < css::awt::XControl
697  , css::form::XBoundControl
699 typedef ::cppu::ImplHelper1 < css::awt::XWindow
702  ,public FmXGridCell_Base
703  ,public FmXGridCell_WindowBase
704 {
705 protected:
706  ::osl::Mutex m_aMutex;
708  std::unique_ptr<DbCellControl> m_pCellControl;
709 
710 private:
716 
717 protected:
718  virtual ~FmXGridCell() override;
719 
720 public:
721  FmXGridCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
722  void init();
723 
725  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
726 
727  void SetTextLineColor();
728  void SetTextLineColor(const Color& _rColor);
729 
730 // XTypeProvider
731  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
732  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
733 
734 // OComponentHelper
735  virtual void SAL_CALL disposing() override;
736 
737 // css::lang::XComponent
738  virtual void SAL_CALL dispose() override {OComponentHelper::dispose();}
739  virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener >& aListener) override { OComponentHelper::addEventListener(aListener);}
740  virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener >& aListener) override { OComponentHelper::removeEventListener(aListener);}
741 
742 // css::awt::XControl
743  virtual void SAL_CALL setContext(const css::uno::Reference< css::uno::XInterface >& /*Context*/) override {}
744  virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getContext() override;
745  virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit >& /*Toolkit*/, const css::uno::Reference< css::awt::XWindowPeer >& /*Parent*/) override {}
746 
747  virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override {return css::uno::Reference< css::awt::XWindowPeer > ();}
748  virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel >& /*Model*/) override {return false;}
749  virtual css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel() override;
750  virtual css::uno::Reference< css::awt::XView > SAL_CALL getView() override {return css::uno::Reference< css::awt::XView > ();}
751  virtual void SAL_CALL setDesignMode(sal_Bool /*bOn*/) override {}
752  virtual sal_Bool SAL_CALL isDesignMode() override {return false;}
753  virtual sal_Bool SAL_CALL isTransparent() override {return false;}
754 
755 // css::form::XBoundControl
756  virtual sal_Bool SAL_CALL getLock() override;
757  virtual void SAL_CALL setLock(sal_Bool _bLock) override;
758 
759  // XWindow
760  virtual void SAL_CALL setPosSize( ::sal_Int32 X, ::sal_Int32 Y, ::sal_Int32 Width, ::sal_Int32 Height, ::sal_Int16 Flags ) override;
761  virtual css::awt::Rectangle SAL_CALL getPosSize( ) override;
762  virtual void SAL_CALL setVisible( sal_Bool Visible ) override;
763  virtual void SAL_CALL setEnable( sal_Bool Enable ) override;
764  virtual void SAL_CALL setFocus( ) override;
765  virtual void SAL_CALL addWindowListener( const css::uno::Reference< css::awt::XWindowListener >& xListener ) override;
766  virtual void SAL_CALL removeWindowListener( const css::uno::Reference< css::awt::XWindowListener >& xListener ) override;
767  virtual void SAL_CALL addFocusListener( const css::uno::Reference< css::awt::XFocusListener >& xListener ) override;
768  virtual void SAL_CALL removeFocusListener( const css::uno::Reference< css::awt::XFocusListener >& xListener ) override;
769  virtual void SAL_CALL addKeyListener( const css::uno::Reference< css::awt::XKeyListener >& xListener ) override;
770  virtual void SAL_CALL removeKeyListener( const css::uno::Reference< css::awt::XKeyListener >& xListener ) override;
771  virtual void SAL_CALL addMouseListener( const css::uno::Reference< css::awt::XMouseListener >& xListener ) override;
772  virtual void SAL_CALL removeMouseListener( const css::uno::Reference< css::awt::XMouseListener >& xListener ) override;
773  virtual void SAL_CALL addMouseMotionListener( const css::uno::Reference< css::awt::XMouseMotionListener >& xListener ) override;
774  virtual void SAL_CALL removeMouseMotionListener( const css::uno::Reference< css::awt::XMouseMotionListener >& xListener ) override;
775  virtual void SAL_CALL addPaintListener( const css::uno::Reference< css::awt::XPaintListener >& xListener ) override;
776  virtual void SAL_CALL removePaintListener( const css::uno::Reference< css::awt::XPaintListener >& xListener ) override;
777 
778  bool Commit() {return m_pCellControl->Commit();}
779  void ImplInitWindow( vcl::Window const & rParent, const InitWindowFacet _eInitWhat )
780  { m_pCellControl->ImplInitWindow( rParent, _eInitWhat ); }
781 
782  bool isAlignedController() const { return m_pCellControl->isAlignedController(); }
783  void AlignControl(sal_Int16 nAlignment)
784  { m_pCellControl->AlignControl(nAlignment);}
785 
786 protected:
787  virtual vcl::Window* getEventWindow() const;
788  virtual void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData );
789 
790  // default implementations call our focus listeners, don't forget to call them if you override this
791  virtual void onFocusGained( const css::awt::FocusEvent& _rEvent );
792  virtual void onFocusLost( const css::awt::FocusEvent& _rEvent );
793 
794 private:
795  DECL_LINK( OnWindowEvent, VclWindowEvent&, void );
796 };
797 
798 
799 class FmXDataCell : public FmXGridCell
800 {
801 public:
802  FmXDataCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl )
803  :FmXGridCell( pColumn, std::move(pControl) )
804  {
805  }
806 
807  virtual void PaintFieldToCell(OutputDevice& rDev,
808  const tools::Rectangle& rRect,
809  const css::uno::Reference< css::sdb::XColumn >& xField,
810  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter);
811 
812  void UpdateFromField(const css::uno::Reference< css::sdb::XColumn >& xField,
813  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter)
814  { m_pCellControl->UpdateFromField(xField, xFormatter); }
815 
816 protected:
817  void UpdateFromColumn();
818 };
819 
820 
821 class FmXTextCell : public FmXDataCell
822 {
823 protected:
838 
839 public:
840  FmXTextCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
841 
842  virtual void PaintFieldToCell(OutputDevice& rDev,
843  const tools::Rectangle& rRect,
844  const css::uno::Reference< css::sdb::XColumn >& xField,
845  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter) override;
846 
847  OUString GetText(const css::uno::Reference< css::sdb::XColumn >& _rxField,
848  const css::uno::Reference< css::util::XNumberFormatter >& xFormatter,
849  Color** ppColor = nullptr)
850  {return m_pCellControl->GetFormatText(_rxField, xFormatter, ppColor);}
851 };
852 
853 
854 typedef ::cppu::ImplHelper2 < css::awt::XTextComponent
855  , css::form::XChangeBroadcaster
857 class FmXEditCell final : public FmXTextCell,
858  public FmXEditCell_Base
859 {
860 public:
861  FmXEditCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
862 
864  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
865 
866 // XTypeProvider
867  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
868  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
869 
870 // OComponentHelper
871  virtual void SAL_CALL disposing() override;
872 
873 // css::awt::XTextComponent
874  virtual void SAL_CALL addTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
875  virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
876  virtual void SAL_CALL setText(const OUString& aText) override;
877  virtual void SAL_CALL insertText(const css::awt::Selection& Sel, const OUString& Text) override;
878  virtual OUString SAL_CALL getText() override;
879  virtual OUString SAL_CALL getSelectedText() override;
880  virtual void SAL_CALL setSelection(const css::awt::Selection& aSelection) override;
881  virtual css::awt::Selection SAL_CALL getSelection() override;
882  virtual sal_Bool SAL_CALL isEditable() override;
883  virtual void SAL_CALL setEditable(sal_Bool bEditable) override;
884  virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override;
885  virtual sal_Int16 SAL_CALL getMaxTextLen() override;
886 
887  // XChangeBroadcaster
888  virtual void SAL_CALL addChangeListener( const css::uno::Reference< css::form::XChangeListener >& aListener ) override;
889  virtual void SAL_CALL removeChangeListener( const css::uno::Reference< css::form::XChangeListener >& aListener ) override;
890 
891 private:
892  virtual ~FmXEditCell() override;
893 
894  virtual void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData ) override;
895 
896  virtual void onFocusGained( const css::awt::FocusEvent& _rEvent ) override;
897  virtual void onFocusLost( const css::awt::FocusEvent& _rEvent ) override;
898 
899  void onTextChanged();
900 
901  OUString m_sValueOnEnter;
906 };
907 
908 
909 typedef ::cppu::ImplHelper2 < css::awt::XCheckBox
910  , css::awt::XButton
913  public FmXCheckBoxCell_Base
914 {
919 
920 protected:
921  virtual ~FmXCheckBoxCell() override;
922 
923 public:
924  FmXCheckBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
925 
926 // UNO
928  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
929  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
930  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
931 
932 // OComponentHelper
933  virtual void SAL_CALL disposing() override;
934 
935 // css::awt::XCheckBox
936  virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
937  virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
938  virtual sal_Int16 SAL_CALL getState() override;
939  virtual void SAL_CALL setState(sal_Int16 n) override;
940  virtual void SAL_CALL setLabel(const OUString& Label) override;
941  virtual void SAL_CALL enableTriState(sal_Bool b) override;
942 
943  // XButton
944  virtual void SAL_CALL addActionListener( const css::uno::Reference< css::awt::XActionListener >& l ) override;
945  virtual void SAL_CALL removeActionListener( const css::uno::Reference< css::awt::XActionListener >& l ) override;
946  //virtual void SAL_CALL setLabel( const OUString& Label ) throw (css::uno::RuntimeException);
947  virtual void SAL_CALL setActionCommand( const OUString& Command ) override;
948 
949 protected:
950  virtual vcl::Window* getEventWindow() const override;
951  virtual void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData ) override;
952 };
953 
954 
955 typedef ::cppu::ImplHelper1 < css::awt::XListBox
957 class FmXListBoxCell final :public FmXTextCell
958  ,public FmXListBoxCell_Base
959 {
960 public:
961  FmXListBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
962 
964  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
965  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
966  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
967 
968 // OComponentHelper
969  virtual void SAL_CALL disposing() override;
970 
971 // css::awt::XListBox
972  virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
973  virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener >& l) override;
974  virtual void SAL_CALL addActionListener(const css::uno::Reference< css::awt::XActionListener >& l) override;
975  virtual void SAL_CALL removeActionListener(const css::uno::Reference< css::awt::XActionListener >& l) override;
976  virtual void SAL_CALL addItem(const OUString& aItem, sal_Int16 nPos) override;
977  virtual void SAL_CALL addItems(const css::uno::Sequence< OUString >& aItems, sal_Int16 nPos) override;
978  virtual void SAL_CALL removeItems(sal_Int16 nPos, sal_Int16 nCount) override;
979  virtual sal_Int16 SAL_CALL getItemCount() override;
980  virtual OUString SAL_CALL getItem(sal_Int16 nPos) override;
981  virtual css::uno::Sequence< OUString > SAL_CALL getItems() override;
982  virtual sal_Int16 SAL_CALL getSelectedItemPos() override;
983  virtual css::uno::Sequence< sal_Int16 > SAL_CALL getSelectedItemsPos() override;
984  virtual OUString SAL_CALL getSelectedItem() override;
985  virtual css::uno::Sequence< OUString > SAL_CALL getSelectedItems() override;
986  virtual void SAL_CALL selectItemPos(sal_Int16 nPos, sal_Bool bSelect) override;
987  virtual void SAL_CALL selectItemsPos(const css::uno::Sequence< sal_Int16 >& aPositions, sal_Bool bSelect) override;
988  virtual void SAL_CALL selectItem(const OUString& aItem, sal_Bool bSelect) override;
989  virtual sal_Bool SAL_CALL isMutipleMode() override;
990  virtual void SAL_CALL setMultipleMode(sal_Bool bMulti) override;
991  virtual sal_Int16 SAL_CALL getDropDownLineCount() override;
992  virtual void SAL_CALL setDropDownLineCount(sal_Int16 nLines) override;
993  virtual void SAL_CALL makeVisible(sal_Int16 nEntry) override;
994 
995 private:
996  virtual void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData ) override;
997  virtual ~FmXListBoxCell() override;
998 
999  DECL_LINK( OnDoubleClick, ListBox&, void );
1000 
1004 };
1005 
1006 
1007 typedef ::cppu::ImplHelper1 < css::awt::XComboBox
1010  ,public FmXComboBoxCell_Base
1011 {
1012 private:
1016 
1017 protected:
1018  virtual ~FmXComboBoxCell() override;
1019 
1020 public:
1021  FmXComboBoxCell( DbGridColumn* pColumn, std::unique_ptr<DbCellControl> pControl );
1022 
1024  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
1025  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
1026  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
1027 
1028  // OComponentHelper
1029  virtual void SAL_CALL disposing() override;
1030 
1031  // XComboBox
1032  virtual void SAL_CALL addItemListener( const css::uno::Reference< css::awt::XItemListener >& Listener ) override;
1033  virtual void SAL_CALL removeItemListener( const css::uno::Reference< css::awt::XItemListener >& Listener ) override;
1034  virtual void SAL_CALL addActionListener( const css::uno::Reference< css::awt::XActionListener >& Listener ) override;
1035  virtual void SAL_CALL removeActionListener( const css::uno::Reference< css::awt::XActionListener >& Listener ) override;
1036  virtual void SAL_CALL addItem( const OUString& Item, ::sal_Int16 Pos ) override;
1037  virtual void SAL_CALL addItems( const css::uno::Sequence< OUString >& Items, ::sal_Int16 Pos ) override;
1038  virtual void SAL_CALL removeItems( ::sal_Int16 nPos, ::sal_Int16 nCount ) override;
1039  virtual ::sal_Int16 SAL_CALL getItemCount( ) override;
1040  virtual OUString SAL_CALL getItem( ::sal_Int16 Pos ) override;
1041  virtual css::uno::Sequence< OUString > SAL_CALL getItems( ) override;
1042  virtual ::sal_Int16 SAL_CALL getDropDownLineCount( ) override;
1043  virtual void SAL_CALL setDropDownLineCount( ::sal_Int16 Lines ) override;
1044 
1045 protected:
1046  virtual void onWindowEvent( const VclEventId _nEventId, const vcl::Window& _rWindow, const void* _pEventData ) override;
1047 };
1048 
1049 
1050 typedef ::cppu::ImplHelper2 < css::awt::XTextComponent
1051  , css::lang::XUnoTunnel
1053 class FmXFilterCell final : public FmXGridCell
1054  ,public FmXFilterCell_Base
1055 {
1056 public:
1057  FmXFilterCell(DbGridColumn* pColumn, std::unique_ptr<DbFilterField> pControl);
1058 
1059 
1061  virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type& _rType ) override;
1062  virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes( ) override;
1063  virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
1064 
1065 // XUnoTunnel
1066  virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& aIdentifier ) override;
1067 
1068 // helpers for XUnoTunnel
1069  static const css::uno::Sequence<sal_Int8>& getUnoTunnelId();
1070 
1071 // painting the filter text
1072  void PaintCell(OutputDevice& rDev, const tools::Rectangle& rRect);
1073  void Update(){m_pCellControl->Update();}
1074 
1075 // OComponentHelper
1076  virtual void SAL_CALL disposing() override;
1077 
1078 // css::awt::XTextComponent
1079  virtual void SAL_CALL addTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
1080  virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener >& l) override;
1081  virtual void SAL_CALL setText(const OUString& aText) override;
1082  virtual void SAL_CALL insertText(const css::awt::Selection& Sel, const OUString& Text) override;
1083  virtual OUString SAL_CALL getText() override;
1084  virtual OUString SAL_CALL getSelectedText() override;
1085  virtual void SAL_CALL setSelection(const css::awt::Selection& aSelection) override;
1086  virtual css::awt::Selection SAL_CALL getSelection() override;
1087  virtual sal_Bool SAL_CALL isEditable() override;
1088  virtual void SAL_CALL setEditable(sal_Bool bEditable) override;
1089  virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override;
1090  virtual sal_Int16 SAL_CALL getMaxTextLen() override;
1091 
1092 private:
1093  DECL_LINK( OnCommit, DbFilterField&, void );
1094  virtual ~FmXFilterCell() override;
1095 
1097 };
1098 
1099 #endif // INCLUDED_SVX_SOURCE_INC_GRIDCELL_HXX
1100 
1101 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual vcl::Window * getEventWindow() const override
Definition: gridcell.cxx:3959
const css::uno::Reference< css::beans::XPropertySet > & getModel() const
Definition: gridcell.hxx:122
Type
virtual sal_Int16 SAL_CALL getState() override
Definition: gridcell.cxx:3908
OUString GetText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr)
Definition: gridcell.hxx:847
::osl::Mutex m_aMutex
Definition: gridcell.hxx:706
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
void implValuePropertyChanged()
Definition: gridcell.cxx:635
bool m_bNumeric
Definition: gridcell.hxx:93
virtual void SAL_CALL removeMouseListener(const css::uno::Reference< css::awt::XMouseListener > &xListener) override
Definition: gridcell.cxx:3351
void UpdateControl()
Definition: gridcell.hxx:152
virtual void SAL_CALL addItemListener(const css::uno::Reference< css::awt::XItemListener > &l) override
Definition: gridcell.cxx:3884
void ImplInitWindow(vcl::Window const &rParent, const InitWindowFacet _eInitWhat)
Definition: gridcell.cxx:715
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2821
DECL_LINK(OnClick, VclPtr< CheckBox >, void)
virtual void SAL_CALL enableTriState(sal_Bool b) override
Definition: gridcell.cxx:3921
bool m_bObject
Definition: gridcell.hxx:94
virtual void SAL_CALL addActionListener(const css::uno::Reference< css::awt::XActionListener > &l) override
Definition: gridcell.cxx:3930
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1686
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:3239
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1205
DbCurrencyField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2007
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:3717
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3627
bool m_bTransparent
Definition: gridcell.hxx:205
FmXTextCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3510
::cppu::ImplHelper2< css::awt::XControl, css::form::XBoundControl > FmXGridCell_Base
Definition: gridcell.hxx:698
DbComboBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2396
DbGridColumn * m_pColumn
Definition: gridcell.hxx:707
Flags
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:2110
vcl::Window & GetWindow() const
Definition: gridcell.hxx:266
bool m_bAccessingValueProperty
Definition: gridcell.hxx:207
::comphelper::OInterfaceContainerHelper2 m_aFocusListeners
Definition: gridcell.hxx:712
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:1142
virtual void implSetEffectiveMaxTextLen(sal_Int32 _nMaxLen) override
Definition: gridcell.cxx:1223
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2486
virtual void implSetEffectiveMaxTextLen(sal_Int32 _nMaxLen)
Definition: gridcell.cxx:1053
DbPatternField(DbGridColumn &_rColumn, const css::uno::Reference< css::uno::XComponentContext > &_rContext)
Definition: gridcell.cxx:1724
virtual ~DbFormattedField() override
Definition: gridcell.cxx:1239
void setLock(bool _bLock)
Definition: gridcell.cxx:398
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1244
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:915
signed char sal_Int8
sal_Int16 m_nControlClass
Definition: gridcell.hxx:688
::cppu::ImplHelper2< css::awt::XCheckBox, css::awt::XButton > FmXCheckBoxCell_Base
Definition: gridcell.hxx:911
void SetList(const css::uno::Any &rItems)
Definition: gridcell.cxx:2419
virtual OUString SAL_CALL getText() override
Definition: gridcell.cxx:3679
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2561
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2782
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2620
::cppu::ImplHelper2< css::awt::XTextComponent, css::form::XChangeBroadcaster > FmXEditCell_Base
Definition: gridcell.hxx:856
FmXEditCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3564
virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) override
Definition: gridcell.cxx:3763
virtual sal_Bool SAL_CALL isDesignMode() override
Definition: gridcell.hxx:752
virtual void SAL_CALL setVisible(sal_Bool Visible) override
Definition: gridcell.cxx:3281
sal_Int16 m_nFieldType
Definition: gridcell.hxx:85
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1993
void ImplInitWindow(vcl::Window const &rParent, const InitWindowFacet _eInitWhat)
Definition: gridcell.cxx:526
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1523
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:1456
void CreateControl(sal_Int32 _nFieldPos, const css::uno::Reference< css::beans::XPropertySet > &xField, sal_Int32 nTypeId)
Definition: gridcell.cxx:148
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2650
virtual void SAL_CALL setEditable(sal_Bool bEditable) override
Definition: gridcell.cxx:3746
sal_Int32 m_nFormatKey
Definition: gridcell.hxx:84
VclPtr< ListBox > m_pBox
Definition: gridcell.hxx:1003
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1584
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
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:1969
void init()
Definition: gridcell.cxx:3142
virtual void PaintCell(OutputDevice &_rDev, const tools::Rectangle &_rRect)
Definition: gridcell.cxx:960
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:3323
virtual void SAL_CALL addKeyListener(const css::uno::Reference< css::awt::XKeyListener > &xListener) override
Definition: gridcell.cxx:3330
virtual void SAL_CALL addWindowListener(const css::uno::Reference< css::awt::XWindowListener > &xListener) override
Definition: gridcell.cxx:3302
sal_Int16 SetAlignmentFromModel(sal_Int16 nStandardAlign)
Definition: gridcell.cxx:385
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:1148
virtual void SAL_CALL addPaintListener(const css::uno::Reference< css::awt::XPaintListener > &xListener) override
Definition: gridcell.cxx:3372
rtl::Reference< FmXGridCell > m_pCell
Definition: gridcell.hxx:77
DbLimitedLengthField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1034
::comphelper::OInterfaceContainerHelper2 m_aTextListeners
Definition: gridcell.hxx:1096
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:1475
bool IsNumeric() const
Definition: gridcell.hxx:131
bool m_bLocked
Definition: gridcell.hxx:96
DbCellControl(DbGridColumn &_rColumn)
Definition: gridcell.cxx:536
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:819
bool IsAutoValue() const
Definition: gridcell.hxx:128
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2275
virtual void SAL_CALL setActionCommand(const OUString &Command) override
Definition: gridcell.cxx:3953
css::uno::Sequence< OUString > m_aValueList
Definition: gridcell.hxx:685
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2116
::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pPaintFormatter
Definition: gridcell.hxx:528
FmXGridCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.cxx:3129
virtual void onWindowEvent(const VclEventId _nEventId, const vcl::Window &_rWindow, const void *_pEventData) override
Definition: gridcell.cxx:3811
virtual void SAL_CALL removeKeyListener(const css::uno::Reference< css::awt::XKeyListener > &xListener) override
Definition: gridcell.cxx:3337
css::uno::Reference< css::sdb::XColumn > GetCurrentFieldValue() const
Definition: gridcell.cxx:447
VclPtr< vcl::Window > m_pPainter
Definition: gridcell.hxx:214
virtual void onFocusGained(const css::awt::FocusEvent &_rEvent)
Definition: gridcell.cxx:3391
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:3233
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:2406
virtual bool commitControl()=0
commits the content of the control (e.g.
sal_Int64 WinBits
::svt::IEditImplementation * m_pEditImplementation
Definition: gridcell.hxx:904
::comphelper::OInterfaceContainerHelper2 m_aChangeListeners
Definition: gridcell.hxx:903
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2471
virtual void SAL_CALL setText(const OUString &aText) override
Definition: gridcell.cxx:3652
bool isTransparent() const
Definition: gridcell.hxx:222
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3184
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:839
const css::uno::Reference< css::beans::XPropertySet > & GetField() const
Definition: gridcell.hxx:135
css::uno::Reference< css::sdbc::XRowSet > m_xCursor
Definition: gridcell.hxx:210
virtual void Update() override
Definition: gridcell.cxx:2967
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:1881
int nCount
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2855
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2263
virtual void SAL_CALL addChangeListener(const css::uno::Reference< css::form::XChangeListener > &aListener) override
Definition: gridcell.cxx:3772
bool m_bIsSimpleEdit
Definition: gridcell.hxx:384
VclEventId
void SetCommitHdl(const Link< DbFilterField &, void > &rLink)
Definition: gridcell.hxx:674
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2504
virtual sal_Bool SAL_CALL isEditable() override
Definition: gridcell.cxx:3738
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1809
virtual void SAL_CALL addMouseMotionListener(const css::uno::Reference< css::awt::XMouseMotionListener > &xListener) override
Definition: gridcell.cxx:3358
::comphelper::OInterfaceContainerHelper2 m_aMouseListeners
Definition: gridcell.hxx:714
virtual void SAL_CALL insertText(const css::awt::Selection &Sel, const OUString &Text) override
Definition: gridcell.cxx:3667
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:1013
::svt::CellControllerRef s_xEmptyController
Definition: gridcell.hxx:98
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:2383
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:1719
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:740
bool m_bFilterList
Definition: gridcell.hxx:689
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1975
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
Definition: gridcell.hxx:739
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:686
DbGridControl & m_rParent
Definition: gridcell.hxx:80
bool Commit()
Definition: gridcell.cxx:279
::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pValueFormatter
Definition: gridcell.hxx:527
OComponentHelper(::osl::Mutex &rMutex)
::comphelper::OInterfaceContainerHelper2 m_aMouseMotionListeners
Definition: gridcell.hxx:715
void AlignControl(sal_Int16 nAlignment)
Definition: gridcell.hxx:783
virtual void SAL_CALL addFocusListener(const css::uno::Reference< css::awt::XFocusListener > &xListener) override
Definition: gridcell.cxx:3316
DbFilterField(const css::uno::Reference< css::uno::XComponentContext > &rxContext, DbGridColumn &_rColumn)
Definition: gridcell.cxx:2664
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:2251
OUString m_sValueOnEnter
Definition: gridcell.hxx:901
void setAlignedController(bool _bAlign)
Definition: gridcell.hxx:226
virtual void SAL_CALL setFocus() override
Definition: gridcell.cxx:3295
virtual VclPtr< SpinField > createField(vcl::Window *_pParent, WinBits _nFieldStyle, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2064
virtual void SAL_CALL addMouseListener(const css::uno::Reference< css::awt::XMouseListener > &xListener) override
Definition: gridcell.cxx:3344
void SetList(const css::uno::Any &rItems)
Definition: gridcell.cxx:2536
void implDoPropertyListening(const OUString &_rPropertyName, bool _bWarnIfNotExistent)
Definition: gridcell.cxx:588
bool m_bFastPaint
determines whether the text of this cell can be painted directly, without using the painter control ...
Definition: gridcell.hxx:837
virtual void SAL_CALL removeWindowListener(const css::uno::Reference< css::awt::XWindowListener > &xListener) override
Definition: gridcell.cxx:3309
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3203
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: gridcell.cxx:3872
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3601
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel)
Definition: gridcell.cxx:648
virtual void SAL_CALL dispose() override
Definition: gridcell.hxx:738
virtual void SAL_CALL setLock(sal_Bool _bLock) override
Definition: gridcell.cxx:3254
DbGridControl & GetParent() const
Definition: gridcell.hxx:136
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:2021
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3616
DECL_LINK(OnWindowEvent, VclWindowEvent &, void)
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1734
virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel > &) override
Definition: gridcell.hxx:748
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor)
Definition: gridcell.cxx:852
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2576
unsigned char sal_Bool
css::uno::Sequence< OUString > m_aValueList
Definition: gridcell.hxx:483
virtual void SAL_CALL disposing() override
Definition: gridcell.cxx:3848
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:1786
DbDateField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2159
virtual sal_Bool SAL_CALL isTransparent() override
Definition: gridcell.hxx:753
void SetTextLineColor()
Definition: gridcell.cxx:911
::cppu::ImplHelper1< css::awt::XComboBox > FmXComboBoxCell_Base
Definition: gridcell.hxx:1008
virtual void onFocusLost(const css::awt::FocusEvent &_rEvent) override
Definition: gridcell.cxx:3799
virtual void onWindowEvent(const VclEventId _nEventId, const vcl::Window &_rWindow, const void *_pEventData)
Definition: gridcell.cxx:3405
virtual void SAL_CALL removeMouseMotionListener(const css::uno::Reference< css::awt::XMouseMotionListener > &xListener) override
Definition: gridcell.cxx:3365
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:3517
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2630
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1624
bool m_bBound
Definition: gridcell.hxx:482
void invalidatedController()
Definition: gridcell.cxx:1027
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1864
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:3091
virtual vcl::Window * getEventWindow() const
Definition: gridcell.cxx:3150
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2845
::comphelper::OInterfaceContainerHelper2 m_aActionListeners
Definition: gridcell.hxx:916
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:3267
virtual ~FmXCheckBoxCell() override
Definition: gridcell.cxx:3836
::comphelper::OInterfaceContainerHelper2 m_aItemListeners
Definition: gridcell.hxx:1001
bool isLocked() const
Definition: gridcell.hxx:182
FmXDataCell(DbGridColumn *pColumn, std::unique_ptr< DbCellControl > pControl)
Definition: gridcell.hxx:802
css::uno::Reference< css::beans::XPropertySet > m_xModel
Definition: gridcell.hxx:72
void UpdateFromColumn()
Definition: gridcell.cxx:3502
bool m_bReadOnly
Definition: gridcell.hxx:90
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1758
virtual void PaintCell(OutputDevice &rDev, const tools::Rectangle &rRect) override
Definition: gridcell.cxx:2684
sal_Int32 GetKey() const
Definition: gridcell.hxx:133
virtual void SAL_CALL setState(sal_Int16 n) override
Definition: gridcell.cxx:3896
bool isAlignedController() const
Definition: gridcell.hxx:782
::svt::IEditImplementation * GetEditImplementation()
Definition: gridcell.hxx:392
DbSpinField(DbGridColumn &_rColumn, sal_Int16 _nStandardAlign=css::awt::TextAlign::RIGHT)
Definition: gridcell.cxx:1835
DbCheckBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1602
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr)=0
virtual ~FmXEditCell() override
Definition: gridcell.cxx:3588
#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass)
void Clear()
Definition: gridcell.cxx:319
virtual void SAL_CALL removePaintListener(const css::uno::Reference< css::awt::XPaintListener > &xListener) override
Definition: gridcell.cxx:3378
virtual VclPtr< SpinField > createField(vcl::Window *_pParent, WinBits _nFieldStyle, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2298
virtual bool commitControl() override
commits the content of the control (e.g.
Definition: gridcell.cxx:1711
void impl_toggleScriptManager_nothrow(bool _bAttach)
attaches or detaches our cell object to the SctriptEventAttacherManager implemented by our model's pa...
Definition: gridcell.cxx:247
DbTimeField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2288
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1562
::comphelper::OInterfaceContainerHelper2 m_aKeyListeners
Definition: gridcell.hxx:713
virtual css::uno::Reference< css::awt::XView > SAL_CALL getView() override
Definition: gridcell.hxx:750
#define ENSURE_OR_THROW(c, m)
::cppu::ImplHelper1< css::awt::XWindow > FmXGridCell_WindowBase
Definition: gridcell.hxx:700
void setModel(const css::uno::Reference< css::beans::XPropertySet > &_xModel)
Definition: gridcell.cxx:307
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2122
virtual void SAL_CALL setContext(const css::uno::Reference< css::uno::XInterface > &) override
Definition: gridcell.hxx:743
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:2365
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:2304
virtual ~DbFilterField() override
Definition: gridcell.cxx:2676
void onTextChanged()
Definition: gridcell.cxx:3784
void SetText(const OUString &rText)
Definition: gridcell.cxx:2932
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:1157
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2371
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2436
virtual sal_Int16 SAL_CALL getMaxTextLen() override
Definition: gridcell.cxx:3755
DbNumericField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1869
virtual void SAL_CALL removeTextListener(const css::uno::Reference< css::awt::XTextListener > &l) override
Definition: gridcell.cxx:3646
void UpdateFromField(const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:269
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:654
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:3494
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:1178
virtual bool commitControl() override
DbCellControl.
Definition: gridcell.cxx:1828
virtual ~DbCellControl() override
Definition: gridcell.cxx:626
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:987
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &_rxCursor) override
Definition: gridcell.cxx:1842
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:611
void SetTextLineColor()
Definition: gridcell.cxx:3169
bool Commit()
Definition: gridcell.hxx:778
virtual sal_Bool SAL_CALL getLock() override
Definition: gridcell.cxx:3247
const OUString & GetText() const
Definition: gridcell.hxx:671
sal_Int16 m_nFieldPos
Definition: gridcell.hxx:88
bool IsReadOnly() const
Definition: gridcell.hxx:127
::svt::CellControllerRef m_xController
Definition: gridcell.hxx:74
Link< DbFilterField &, void > m_aCommitLink
Definition: gridcell.hxx:687
OUString GetCellText(const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) const
virtual void SAL_CALL setLabel(const OUString &Label) override
Definition: gridcell.cxx:3942
bool m_bFilterListFilled
Definition: gridcell.hxx:690
DbTextField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1060
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:2492
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:2594
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:1074
void Paint(OutputDevice &rDev, const tools::Rectangle &rRect, const DbGridRow *pRow, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.cxx:459
double GetCurrency(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) const
Definition: gridcell.cxx:2070
virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override
Definition: gridcell.hxx:747
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3861
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:3827
virtual void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) override
Definition: gridcell.cxx:2257
virtual void SAL_CALL removeItemListener(const css::uno::Reference< css::awt::XItemListener > &l) override
Definition: gridcell.cxx:3890
virtual void Update()
Definition: gridcell.hxx:289
DbFormattedField(DbGridColumn &_rColumn)
Definition: gridcell.cxx:1231
void CreateControl(vcl::Window *pParent, const css::uno::Reference< css::beans::XPropertySet > &xModel)
Definition: gridcell.cxx:2725
css::uno::Reference< css::beans::XPropertySet > m_xField
Definition: gridcell.hxx:73
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:2142
void SetList(const css::uno::Any &rItems, bool bComboBox)
Definition: gridcell.cxx:2701
sal_Int16 m_nTypeId
Definition: gridcell.hxx:86
virtual void Init(vcl::Window &rParent, const css::uno::Reference< css::sdbc::XRowSet > &xCursor) override
Definition: gridcell.cxx:2448
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:1772
virtual css::awt::Selection SAL_CALL getSelection() override
Definition: gridcell.cxx:3726
::comphelper::OInterfaceContainerHelper2 m_aTextListeners
Definition: gridcell.hxx:902
virtual void SAL_CALL setDesignMode(sal_Bool) override
Definition: gridcell.hxx:751
sal_uInt16 const m_nId
Definition: gridcell.hxx:87
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1816
std::unique_ptr< DbCellControl > m_pCellControl
Definition: gridcell.hxx:708
virtual OUString SAL_CALL getSelectedText() override
Definition: gridcell.cxx:3703
bool IsHidden() const
Definition: gridcell.hxx:132
VclPtr< ComboBox > m_pComboBox
Definition: gridcell.hxx:1015
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:3085
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:1692
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1450
::osl::Mutex m_aMutex
Definition: gridcell.hxx:62
sal_Int16 m_nScale
Definition: gridcell.hxx:606
InitWindowFacet
Definition: gridctrl.hxx:116
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1185
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:2588
void SetObject(sal_Int16 nPos)
Definition: gridcell.hxx:169
virtual ~DbTextField() override
Definition: gridcell.cxx:1067
virtual void onFocusLost(const css::awt::FocusEvent &_rEvent)
Definition: gridcell.cxx:3398
VclPtr< CheckBox > m_pBox
Definition: gridcell.hxx:918
virtual ~FmXGridCell() override
Definition: gridcell.cxx:3158
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:2359
void UpdateFromField(const css::uno::Reference< css::sdb::XColumn > &xField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter)
Definition: gridcell.hxx:812
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:3778
OUString m_aActionCommand
Definition: gridcell.hxx:917
sal_Int16 SetAlignment(sal_Int16 _nAlign)
Definition: gridcell.cxx:340
double GetValue(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter) const
Definition: gridcell.cxx:994
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:1701
virtual void SAL_CALL setEnable(sal_Bool Enable) override
Definition: gridcell.cxx:3288
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
Definition: gridcell.cxx:3218
virtual void onFocusGained(const css::awt::FocusEvent &_rEvent) override
Definition: gridcell.cxx:3792
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:3640
const ::svt::CellControllerRef & GetController() const
Definition: gridcell.hxx:134
virtual ::svt::CellControllerRef CreateController() const override
Definition: gridcell.cxx:1660
sal_Int16 const m_nStandardAlign
Definition: gridcell.hxx:536
virtual void implAdjustGenericFieldSetting(const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1041
TextAlign
virtual void updateFromModel(css::uno::Reference< css::beans::XPropertySet > _rxModel) override
updates the current content of the control (e.g.
Definition: gridcell.cxx:1981
rtl::Reference<::comphelper::OPropertyChangeMultiplexer > m_pModelChangeBroadcaster
Definition: gridcell.hxx:201
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &evt) override
Definition: gridcell.cxx:2523
sal_uInt16 nPos
OUString impl_formatText(const OUString &_rText)
Definition: gridcell.cxx:1778
#define EDIT_NOLIMIT
virtual css::awt::Rectangle SAL_CALL getPosSize() override
Definition: gridcell.cxx:3274
void SetReadOnly(bool bRead)
Definition: gridcell.hxx:168
bool m_bOwnEditImplementation
Definition: gridcell.hxx:905
::comphelper::OInterfaceContainerHelper2 m_aWindowListeners
Definition: gridcell.hxx:711
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:2187
virtual void onWindowEvent(const VclEventId _nEventId, const vcl::Window &_rWindow, const void *_pEventData) override
Definition: gridcell.cxx:3965
virtual void SAL_CALL removeActionListener(const css::uno::Reference< css::awt::XActionListener > &l) override
Definition: gridcell.cxx:3936
bool Commit()
Definition: gridcell.cxx:694
virtual OUString GetFormatText(const css::uno::Reference< css::sdb::XColumn > &_rxField, const css::uno::Reference< css::util::XNumberFormatter > &xFormatter, Color **ppColor=nullptr) override
Definition: gridcell.cxx:2477
virtual VclPtr< SpinField > createField(vcl::Window *_pParent, WinBits _nFieldStyle, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:1936
DbListBox(DbGridColumn &_rColumn)
Definition: gridcell.cxx:2512
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:779
virtual VclPtr< SpinField > createField(vcl::Window *_pParent, WinBits _nFieldStyle, const css::uno::Reference< css::beans::XPropertySet > &_rxModel) override
Definition: gridcell.cxx:2170
virtual ::svt::CellControllerRef CreateController() const =0
FmXGridCell * GetCell() const
Definition: gridcell.hxx:137
virtual VclPtr< SpinField > createField(vcl::Window *_pParent, WinBits _nFieldStyle, const css::uno::Reference< css::beans::XPropertySet > &_rxModel)=0
void AlignControl(sal_Int16 nAlignment)
Definition: gridcell.cxx:939
virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit > &, const css::uno::Reference< css::awt::XWindowPeer > &) override
Definition: gridcell.hxx:745