1 /******************************************************************************** 2 * * 3 * H o r i z o n t a l C o n t a i n e r W i d g e t * 4 * * 5 ********************************************************************************* 6 * Copyright (C) 1997,2020 by Jeroen van der Zijp. All Rights Reserved. * 7 ********************************************************************************* 8 * This library is free software; you can redistribute it and/or modify * 9 * it under the terms of the GNU Lesser General Public License as published by * 10 * the Free Software Foundation; either version 3 of the License, or * 11 * (at your option) any later version. * 12 * * 13 * This library is distributed in the hope that it will be useful, * 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 16 * GNU Lesser General Public License for more details. * 17 * * 18 * You should have received a copy of the GNU Lesser General Public License * 19 * along with this program. If not, see <http://www.gnu.org/licenses/> * 20 ********************************************************************************/ 21 #ifndef FXHORIZONTALFRAME_H 22 #define FXHORIZONTALFRAME_H 23 24 #ifndef FXPACKER_H 25 #include "FXPacker.h" 26 #endif 27 28 namespace FX { 29 30 31 /** 32 * Horizontal frame layout manager widget is used to automatically 33 * place child-windows horizontally from left-to-right, or right-to-left, 34 * depending on the child window's layout hints. 35 */ 36 class FXAPI FXHorizontalFrame : public FXPacker { FXDECLARE(FXHorizontalFrame)37 FXDECLARE(FXHorizontalFrame) 38 protected: 39 FXHorizontalFrame(){} 40 private: 41 FXHorizontalFrame(const FXHorizontalFrame&); 42 FXHorizontalFrame &operator=(const FXHorizontalFrame&); 43 public: 44 45 /// Construct a horizontal frame layout manager 46 FXHorizontalFrame(FXComposite *p,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_SPACING,FXint pr=DEFAULT_SPACING,FXint pt=DEFAULT_SPACING,FXint pb=DEFAULT_SPACING,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING); 47 48 /// Perform layout 49 virtual void layout(); 50 51 /// Return default width 52 virtual FXint getDefaultWidth(); 53 54 /// Return default height 55 virtual FXint getDefaultHeight(); 56 }; 57 58 } 59 60 #endif 61