root/src/add-ons/translators/gif/GIFView.h
////////////////////////////////////////////////////////////////////////////////
//
//      File: GIFView.h
//
//      Date: December 1999
//
//      Author: Daniel Switkin
//
//      Copyright 2003 (c) by Daniel Switkin. This file is made publically available
//      under the BSD license, with the stipulations that this complete header must
//      remain at the top of the file indefinitely, and credit must be given to the
//      original author in any about box using this software.
//
////////////////////////////////////////////////////////////////////////////////

// Additional authors:  Stephan Aßmus, <superstippi@gmx.de>
//                                              Philippe Saint-Pierre, <stpere@gmail.com>
//                                              John Scipione, <jscipione@gmail.com>

#ifndef GIF_VIEW_H
#define GIF_VIEW_H


#include <GroupView.h>
#include "TranslatorSettings.h"


#define GV_WEB_SAFE                                     'gvws'
#define GV_BEOS_SYSTEM                          'gvbe'
#define GV_GREYSCALE                            'gvgr'
#define GV_OPTIMAL                                      'gvop'
#define GV_INTERLACED                           'gvin'
#define GV_USE_DITHERING                        'gvud'
#define GV_USE_TRANSPARENT                      'gvut'
#define GV_USE_TRANSPARENT_AUTO         'gvua'
#define GV_USE_TRANSPARENT_COLOR        'gvuc'
#define GV_TRANSPARENT_RED                      'gvtr'
#define GV_TRANSPARENT_GREEN            'gvtg'
#define GV_TRANSPARENT_BLUE                     'gvtb'
#define GV_SET_COLOR_COUNT                      'gvcc'


const BRect kRectView(110, 110, 339, 339);


class BBox;
class BCheckBox;
class BPopUpMenu;
class BMenuField;
class BMenuItem;
class BRadioButton;
class BStringView;
class BTextControl;



class GIFView : public BGroupView {
public:
                                                                GIFView(TranslatorSettings* settings);
        virtual                                         ~GIFView();

        virtual void                            AllAttached();
        virtual void                            MessageReceived(BMessage* message);

private:
                        void                            RestorePrefs();
                        int                                     CheckInput(BTextControl* control);

                        TranslatorSettings*     fSettings;

                        BStringView*            fTitle;
                        BStringView*            fVersion;
                        BStringView*            fCopyright;

                        BMenuField*                     fPaletteMF;
                        BPopUpMenu*                     fPaletteM;
                        BMenuItem*                      fWebSafeMI;
                        BMenuItem*                      fBeOSSystemMI;
                        BMenuItem*                      fGreyScaleMI;
                        BMenuItem*                      fOptimalMI;

                        BMenuField*                     fColorCountMF;
                        BPopUpMenu*                     fColorCountM;
                        BMenuItem*                      fColorCountMI[8];
                        BMenuItem*                      fColorCount256MI;

                        BCheckBox*                      fInterlacedCB;
                        BCheckBox*                      fUseTransparentCB;
                        BCheckBox*                      fUseDitheringCB;

                        BRadioButton*           fUseTransparentAutoRB;
                        BRadioButton*           fUseTransparentColorRB;

                        BBox*                           fDitheringBox;
                        BBox*                           fInterlacedBox;
                        BBox*                           fTransparentBox;

                        BTextControl*           fRedTextControl;
                        BTextControl*           fGreenTextControl;
                        BTextControl*           fBlueTextControl;
};


#endif  // GIF_VIEW_H