18dcb2a10SAndre Fischer /************************************************************** 28dcb2a10SAndre Fischer * 38dcb2a10SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 48dcb2a10SAndre Fischer * or more contributor license agreements. See the NOTICE file 58dcb2a10SAndre Fischer * distributed with this work for additional information 68dcb2a10SAndre Fischer * regarding copyright ownership. The ASF licenses this file 78dcb2a10SAndre Fischer * to you under the Apache License, Version 2.0 (the 88dcb2a10SAndre Fischer * "License"); you may not use this file except in compliance 98dcb2a10SAndre Fischer * with the License. You may obtain a copy of the License at 108dcb2a10SAndre Fischer * 118dcb2a10SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 128dcb2a10SAndre Fischer * 138dcb2a10SAndre Fischer * Unless required by applicable law or agreed to in writing, 148dcb2a10SAndre Fischer * software distributed under the License is distributed on an 158dcb2a10SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 168dcb2a10SAndre Fischer * KIND, either express or implied. See the License for the 178dcb2a10SAndre Fischer * specific language governing permissions and limitations 188dcb2a10SAndre Fischer * under the License. 198dcb2a10SAndre Fischer * 208dcb2a10SAndre Fischer *************************************************************/ 218dcb2a10SAndre Fischer 228dcb2a10SAndre Fischer #include "LineWidthPopup.hxx" 238dcb2a10SAndre Fischer #include "LineWidthControl.hxx" 248dcb2a10SAndre Fischer #include "LinePropertyPanel.hxx" 258dcb2a10SAndre Fischer 268dcb2a10SAndre Fischer #include <unotools/viewoptions.hxx> 278dcb2a10SAndre Fischer 288dcb2a10SAndre Fischer #include <boost/bind.hpp> 298dcb2a10SAndre Fischer 308dcb2a10SAndre Fischer 318dcb2a10SAndre Fischer namespace svx { namespace sidebar { 328dcb2a10SAndre Fischer 338dcb2a10SAndre Fischer LineWidthPopup::LineWidthPopup ( 348dcb2a10SAndre Fischer Window* pParent, 358dcb2a10SAndre Fischer const ::boost::function<PopupControl*(PopupContainer*)>& rControlCreator) 368dcb2a10SAndre Fischer : Popup( 378dcb2a10SAndre Fischer pParent, 388dcb2a10SAndre Fischer rControlCreator, 398dcb2a10SAndre Fischer ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Width"))) 408dcb2a10SAndre Fischer { 418dcb2a10SAndre Fischer SetPopupModeEndHandler(::boost::bind(&LineWidthPopup::PopupModeEndCallback, this)); 428dcb2a10SAndre Fischer } 438dcb2a10SAndre Fischer 448dcb2a10SAndre Fischer 458dcb2a10SAndre Fischer 468dcb2a10SAndre Fischer 478dcb2a10SAndre Fischer LineWidthPopup::~LineWidthPopup (void) 488dcb2a10SAndre Fischer { 498dcb2a10SAndre Fischer } 508dcb2a10SAndre Fischer 518dcb2a10SAndre Fischer 528dcb2a10SAndre Fischer 538dcb2a10SAndre Fischer 548dcb2a10SAndre Fischer void LineWidthPopup::SetWidthSelect (long lValue, bool bValuable, SfxMapUnit eMapUnit) 558dcb2a10SAndre Fischer { 568dcb2a10SAndre Fischer ProvideContainerAndControl(); 578dcb2a10SAndre Fischer 588dcb2a10SAndre Fischer LineWidthControl* pControl = dynamic_cast<LineWidthControl*>(mpControl.get()); 598dcb2a10SAndre Fischer if (pControl != NULL) 608dcb2a10SAndre Fischer pControl->SetWidthSelect(lValue, bValuable, eMapUnit); 618dcb2a10SAndre Fischer } 628dcb2a10SAndre Fischer 638dcb2a10SAndre Fischer 648dcb2a10SAndre Fischer 658dcb2a10SAndre Fischer 668dcb2a10SAndre Fischer void LineWidthPopup::PopupModeEndCallback (void) 678dcb2a10SAndre Fischer { 688dcb2a10SAndre Fischer LineWidthControl* pControl = dynamic_cast<LineWidthControl*>(mpControl.get()); 698dcb2a10SAndre Fischer if (pControl != NULL) 708dcb2a10SAndre Fischer { 718dcb2a10SAndre Fischer if (pControl->IsCloseByEdit()) 728dcb2a10SAndre Fischer { 738dcb2a10SAndre Fischer SvtViewOptions aWinOpt( E_WINDOW, SIDEBAR_LINE_WIDTH_GLOBAL_VALUE ); 748dcb2a10SAndre Fischer ::com::sun::star::uno::Sequence < ::com::sun::star::beans::NamedValue > aSeq(1); 758dcb2a10SAndre Fischer aSeq[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("LineWidth") ); 768dcb2a10SAndre Fischer aSeq[0].Value <<= ::rtl::OUString( 778dcb2a10SAndre Fischer String::CreateFromInt32(pControl->GetTmpCustomWidth())); 788dcb2a10SAndre Fischer aWinOpt.SetUserData( aSeq ); 798dcb2a10SAndre Fischer } 808dcb2a10SAndre Fischer } 818dcb2a10SAndre Fischer } 828dcb2a10SAndre Fischer 838dcb2a10SAndre Fischer 848dcb2a10SAndre Fischer 858dcb2a10SAndre Fischer } } // end of namespace svx::sidebar 868dcb2a10SAndre Fischer 878dcb2a10SAndre Fischer 88*4e8031e0SArmin Le Grand // eof 89