miscellaneous/motionbuilder_shelf/shelveTool.h

miscellaneous/motionbuilder_shelf/shelveTool.h
//
// Created by Cyrille Fauvel on 11/04/13.
// (C) Copyright 2013 by Autodesk, Inc.
//
// Permission to use, copy, modify, and distribute this software in object code
// form for any purpose and without fee is hereby granted, provided that the above
// copyright notice appears in all copies and that both that copyright notice and
// the limited warranty and restricted rights notice below appear in all supporting
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. AUTODESK SPECIFICALLY
// DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.
// AUTODESK, INC. DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE UNINTERRUPTED
// OR ERROR FREE.
//
#pragma once
#define ORTOOL__CLASSNAME ShelveTool
#define ORTOOL__NAME "Shelf"
#define SHELVES_HEIGHT 83
#define TAB_HEIGHT 25
#define BUTTON_MARGIN 2
#define BUTTON_SIZE 32
class ShelveTool : public FBTool {
FBToolDeclare(ShelveTool, FBTool) ;
private:
FBTabPanel _Tab ;
FBLayout *_Layouts ;
FBButton *_Buttons ;
std::vector<std::string> _LayoutIds ;
std::vector<std::string> _ButtonIds ;
std::map<std::string, std::string> _scripts ;
std::map<std::string, std::string> _scriptFiles ;
public:
// See FBToolDeclare
//ShelveTool (const char *pName =NULL)
//ShelveTool (const char *pName, bool pRegisterTool)
//virtual ~ShelveTool ()
virtual bool FBCreate () ;
virtual void FBDestroy () ;
void EventToolInput (HISender pSender, HKEvent pEvent) ;
void EventToolShow (HISender pSender, HKEvent pEvent) ;
void EventToolResize (HISender pSender, HKEvent pEvent) ;
void onTabChanged (HISender pSender, HKEvent pEvent) ;
void onButtonClicked (HISender pSender, HKEvent pEvent) ;
} ;