66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
/*
|
|
* Copyright 2006, Haiku, Inc. All Rights Reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* Mikael Konradson, mikael.konradson@gmail.com
|
|
*/
|
|
#ifndef CONTROL_VIEW_H
|
|
#define CONTROL_VIEW_H
|
|
|
|
|
|
#include <GroupView.h>
|
|
|
|
|
|
class BButton;
|
|
class BCheckBox;
|
|
class BHandler;
|
|
class BLooper;
|
|
class BMenu;
|
|
class BMenuField;
|
|
class BMessageRunner;
|
|
class BMessenger;
|
|
class BSlider;
|
|
class BTextControl;
|
|
|
|
|
|
class ControlView : public BGroupView {
|
|
public:
|
|
ControlView();
|
|
virtual ~ControlView();
|
|
|
|
virtual void AttachedToWindow();
|
|
virtual void Draw(BRect updateRect);
|
|
virtual void MessageReceived(BMessage* message);
|
|
void SetTarget(BHandler* handler);
|
|
|
|
private:
|
|
void _AddFontMenu();
|
|
void _AddDrawingModeMenu();
|
|
void _UpdateFontmenus(bool setInitialfont = false);
|
|
void _DeselectOldItems();
|
|
|
|
void _UpdateAndSendFamily(const BMessage* message);
|
|
void _UpdateAndSendStyle(const BMessage* message);
|
|
|
|
BMessenger* fMessenger;
|
|
BMessageRunner* fMessageRunner;
|
|
BTextControl* fTextControl;
|
|
BMenuField* fFontMenuField;
|
|
BSlider* fFontsizeSlider;
|
|
BSlider* fShearSlider;
|
|
BSlider* fRotationSlider;
|
|
BSlider* fSpacingSlider;
|
|
BSlider* fOutlineSlider;
|
|
BCheckBox* fAliasingCheckBox;
|
|
BCheckBox* fBoundingboxesCheckBox;
|
|
BButton* fCyclingFontButton;
|
|
BMenu* fFontFamilyMenu;
|
|
BMenu* fDrawingModeMenu;
|
|
bool fCycleFonts;
|
|
int32 fFontStyleindex;
|
|
};
|
|
|
|
#endif // CONTROL_VIEW_H
|
|
|