1*2722ceddSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*2722ceddSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*2722ceddSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*2722ceddSAndrew Rist  * distributed with this work for additional information
6*2722ceddSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*2722ceddSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*2722ceddSAndrew Rist  * "License"); you may not use this file except in compliance
9*2722ceddSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*2722ceddSAndrew Rist  *
11*2722ceddSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*2722ceddSAndrew Rist  *
13*2722ceddSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*2722ceddSAndrew Rist  * software distributed under the License is distributed on an
15*2722ceddSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*2722ceddSAndrew Rist  * KIND, either express or implied.  See the License for the
17*2722ceddSAndrew Rist  * specific language governing permissions and limitations
18*2722ceddSAndrew Rist  * under the License.
19*2722ceddSAndrew Rist  *
20*2722ceddSAndrew Rist  *************************************************************/
21*2722ceddSAndrew Rist 
22*2722ceddSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_desktop.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <vcl/scrbar.hxx>
28cdf0e10cSrcweir #include <svtools/txtattr.hxx>
29cdf0e10cSrcweir #include <svtools/xtextedt.hxx>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include "descedit.hxx"
32cdf0e10cSrcweir 
33cdf0e10cSrcweir #include "dp_gui.hrc"
34cdf0e10cSrcweir 
35cdf0e10cSrcweir using dp_gui::DescriptionEdit;
36cdf0e10cSrcweir 
37cdf0e10cSrcweir // DescriptionEdit -------------------------------------------------------
38cdf0e10cSrcweir 
DescriptionEdit(Window * pParent,const ResId & rResId)39cdf0e10cSrcweir DescriptionEdit::DescriptionEdit( Window* pParent, const ResId& rResId ) :
40cdf0e10cSrcweir 
41cdf0e10cSrcweir     ExtMultiLineEdit( pParent, rResId ),
42cdf0e10cSrcweir 
43cdf0e10cSrcweir     m_bIsVerticalScrollBarHidden( true )
44cdf0e10cSrcweir 
45cdf0e10cSrcweir {
46cdf0e10cSrcweir     Init();
47cdf0e10cSrcweir }
48cdf0e10cSrcweir 
49cdf0e10cSrcweir // -----------------------------------------------------------------------
50cdf0e10cSrcweir 
Init()51cdf0e10cSrcweir void DescriptionEdit::Init()
52cdf0e10cSrcweir {
53cdf0e10cSrcweir     Clear();
54cdf0e10cSrcweir     // no tabstop
55cdf0e10cSrcweir     SetStyle( ( GetStyle() & ~WB_TABSTOP ) | WB_NOTABSTOP );
56cdf0e10cSrcweir     // read-only
57cdf0e10cSrcweir     SetReadOnly();
58cdf0e10cSrcweir     // no cursor
59cdf0e10cSrcweir     EnableCursor( sal_False );
60cdf0e10cSrcweir }
61cdf0e10cSrcweir 
62cdf0e10cSrcweir // -----------------------------------------------------------------------
63cdf0e10cSrcweir 
UpdateScrollBar()64cdf0e10cSrcweir void DescriptionEdit::UpdateScrollBar()
65cdf0e10cSrcweir {
66cdf0e10cSrcweir     if ( m_bIsVerticalScrollBarHidden )
67cdf0e10cSrcweir     {
68cdf0e10cSrcweir         ScrollBar*  pVScrBar = GetVScrollBar();
69cdf0e10cSrcweir         if ( pVScrBar && pVScrBar->GetVisibleSize() < pVScrBar->GetRangeMax() )
70cdf0e10cSrcweir         {
71cdf0e10cSrcweir             pVScrBar->Show();
72cdf0e10cSrcweir             m_bIsVerticalScrollBarHidden = false;
73cdf0e10cSrcweir         }
74cdf0e10cSrcweir     }
75cdf0e10cSrcweir }
76cdf0e10cSrcweir 
77cdf0e10cSrcweir // -----------------------------------------------------------------------
78cdf0e10cSrcweir 
Clear()79cdf0e10cSrcweir void DescriptionEdit::Clear()
80cdf0e10cSrcweir {
81cdf0e10cSrcweir     SetText( String() );
82cdf0e10cSrcweir 
83cdf0e10cSrcweir     m_bIsVerticalScrollBarHidden = true;
84cdf0e10cSrcweir     ScrollBar*  pVScrBar = GetVScrollBar();
85cdf0e10cSrcweir     if ( pVScrBar )
86cdf0e10cSrcweir         pVScrBar->Hide();
87cdf0e10cSrcweir }
88cdf0e10cSrcweir 
89cdf0e10cSrcweir // -----------------------------------------------------------------------
90cdf0e10cSrcweir 
SetDescription(const String & rDescription)91cdf0e10cSrcweir void DescriptionEdit::SetDescription( const String& rDescription )
92cdf0e10cSrcweir {
93cdf0e10cSrcweir     SetText( rDescription );
94cdf0e10cSrcweir     UpdateScrollBar();
95cdf0e10cSrcweir }
96cdf0e10cSrcweir 
97