From 58f8437f4b8b741ddc8e7bcde21bf983cc618430 Mon Sep 17 00:00:00 2001 From: pepper Date: Sat, 10 Jan 2015 21:37:24 -0800 Subject: added vstsdk --- vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h | 100 +++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h (limited to 'vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h') diff --git a/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h new file mode 100644 index 0000000..c7d4678 --- /dev/null +++ b/vendor/vstsdk2.4/vstgui.sf/vstgui/ctabview.h @@ -0,0 +1,100 @@ +//----------------------------------------------------------------------------- +// VST Plug-Ins SDK +// VSTGUI: Graphical User Interface Framework not only for VST plugins : +// +// CTabView written 2004 by Arne Scheffler +// +//----------------------------------------------------------------------------- +// VSTGUI LICENSE +// © 2004, Steinberg Media Technologies, All Rights Reserved +//----------------------------------------------------------------------------- +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of the Steinberg Media Technologies nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +// OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- + +#ifndef __ctabview__ +#define __ctabview__ + +#ifndef __vstcontrols__ +#include "vstcontrols.h" +#endif + +BEGIN_NAMESPACE_VSTGUI + +class CTabChildView; + +//----------------------------------------------------------------------------- +class CTabView : public CViewContainer, public CControlListener +//! a tab view +//----------------------------------------------------------------------------- +{ +public: + CTabView (const CRect& size, CFrame* parent, CBitmap* tabBitmap, CBitmap* background = 0, long tabPosition = kPositionTop, long style = 0); + CTabView (const CRect& size, CFrame* parent, const CRect& tabSize, CBitmap* background = 0, long tabPosition = kPositionTop, long style = 0); + virtual ~CTabView (); + + virtual bool addTab (CView* view, const char* name = 0, CBitmap* tabBitmap = 0); + virtual bool removeTab (CView* view); + virtual bool removeAllTabs (); + virtual bool selectTab (long index); + + virtual CRect& getTabViewSize (CRect& rect) const; + + virtual void setTabFontStyle (const CFont& font, long fontSize = 12, CColor selectedColor = kBlackCColor, CColor deselectedColor = kWhiteCColor); ///< call this after the tabs are added. Tabs added after this call will have the default font style. + + virtual void alignTabs (long alignment = kAlignCenter); ///< call this after you have added all tabs + + enum { + kPositionLeft = 0, + kPositionRight, + kPositionTop, + kPositionBottom, + }; + + enum { + kAlignCenter = 0, + kAlignLeft, + kAlignRight, + kAlignTop = kAlignLeft, + kAlignBottom = kAlignRight + }; + + virtual void valueChanged (CDrawContext *pContext, CControl *pControl); +//----------------------------------------------------------------------------- + CLASS_METHODS (CTabView, CViewContainer) +protected: + void setCurrentChild (CTabChildView* childView); + + unsigned long numberOfChilds; + long tabPosition; + long style; + CRect tabSize; + CBitmap* tabBitmap; + CTabChildView* firstChild; + CTabChildView* lastChild; + CTabChildView* currentChild; +}; + +END_NAMESPACE_VSTGUI + +#endif -- cgit v1.2.3-70-g09d2