Plasma
panel_decorator.h
Go to the documentation of this file.00001 /* 00002 Copyright 2008 Google Inc. 00003 00004 Licensed under the Apache License, Version 2.0 (the "License"); 00005 you may not use this file except in compliance with the License. 00006 You may obtain a copy of the License at 00007 00008 http://www.apache.org/licenses/LICENSE-2.0 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 */ 00016 00017 #ifndef GGADGET_PANEL_DECORATOR_H__ 00018 #define GGADGET_PANEL_DECORATOR_H__ 00019 00020 #include <ggadget/docked_main_view_decorator.h> 00021 #include "plasma_view_host.h" 00022 00023 namespace ggadget { 00024 00025 class PanelDecorator : public DockedMainViewDecorator { 00026 public: 00027 PanelDecorator(PlasmaViewHost *host); 00028 virtual ~PanelDecorator(); 00029 virtual void OnAddDecoratorMenuItems(MenuInterface *menu); 00030 virtual void SetSize(double width, double height); 00031 virtual void SetResizable(ViewInterface::ResizableMode resizable); 00032 void setVertical(); 00033 void setHorizontal(); 00034 00035 protected: 00036 // virtual void GetClientExtents(double *width, double *height) const; 00037 virtual void OnChildViewChanged(); 00038 virtual bool ShowDecoratedView(bool modal, int flags, 00039 Slot1<bool, int> *feedback_handler); 00040 00041 private: 00042 class Private; 00043 Private *d; 00044 DISALLOW_EVIL_CONSTRUCTORS(PanelDecorator); 00045 }; 00046 00047 } // namespace ggadget 00048 00049 #endif