* added scroll view around canvas in Haiku version
* used new layout features in StyleView for Haiku version git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19212 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -624,8 +624,18 @@ MainWindow::_CreateGUI(BRect bounds)
|
|||||||
layout->AddView(topSideView, 1, 0);
|
layout->AddView(topSideView, 1, 0);
|
||||||
|
|
||||||
// canvas view
|
// canvas view
|
||||||
fCanvasView = new CanvasView(BRect(0, 0, 200, 200));
|
BRect canvasBounds = BRect(0, 0, 200, 200);
|
||||||
layout->AddView(fCanvasView, 1, 1);
|
fCanvasView = new CanvasView(canvasBounds);
|
||||||
|
|
||||||
|
// scroll view around canvas view
|
||||||
|
canvasBounds.bottom += B_H_SCROLL_BAR_HEIGHT;
|
||||||
|
canvasBounds.right += B_V_SCROLL_BAR_WIDTH;
|
||||||
|
ScrollView* canvasScrollView
|
||||||
|
= new ScrollView(fCanvasView, SCROLL_VERTICAL | SCROLL_HORIZONTAL
|
||||||
|
| SCROLL_NO_FRAME | SCROLL_VISIBLE_RECT_IS_CHILD_BOUNDS,
|
||||||
|
canvasBounds, "canvas scroll view",
|
||||||
|
B_FOLLOW_NONE, B_WILL_DRAW | B_FRAME_EVENTS);
|
||||||
|
layout->AddView(canvasScrollView, 1, 1);
|
||||||
|
|
||||||
// views along the top
|
// views along the top
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,11 @@
|
|||||||
|
|
||||||
#include "StyleView.h"
|
#include "StyleView.h"
|
||||||
|
|
||||||
|
#if __HAIKU__
|
||||||
|
# include "GridLayout.h"
|
||||||
|
# include "GroupLayout.h"
|
||||||
|
# include "SpaceLayoutItem.h"
|
||||||
|
#endif
|
||||||
#include <Menu.h>
|
#include <Menu.h>
|
||||||
#include <MenuBar.h>
|
#include <MenuBar.h>
|
||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
@@ -40,7 +45,11 @@ enum {
|
|||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
StyleView::StyleView(BRect frame)
|
StyleView::StyleView(BRect frame)
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
: BView("style view", 0),
|
||||||
|
#else
|
||||||
: BView(frame, "style view", B_FOLLOW_LEFT | B_FOLLOW_TOP, 0),
|
: BView(frame, "style view", B_FOLLOW_LEFT | B_FOLLOW_TOP, 0),
|
||||||
|
#endif
|
||||||
fCommandStack(NULL),
|
fCommandStack(NULL),
|
||||||
fCurrentColor(NULL),
|
fCurrentColor(NULL),
|
||||||
fStyle(NULL),
|
fStyle(NULL),
|
||||||
@@ -49,10 +58,6 @@ StyleView::StyleView(BRect frame)
|
|||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
frame.OffsetTo(B_ORIGIN);
|
|
||||||
frame.InsetBy(5, 5);
|
|
||||||
frame.bottom = frame.top + 15;
|
|
||||||
|
|
||||||
// style type
|
// style type
|
||||||
BMenu* menu = new BPopUpMenu("<unavailable>");
|
BMenu* menu = new BPopUpMenu("<unavailable>");
|
||||||
BMessage* message = new BMessage(MSG_SET_STYLE_TYPE);
|
BMessage* message = new BMessage(MSG_SET_STYLE_TYPE);
|
||||||
@@ -61,6 +66,18 @@ StyleView::StyleView(BRect frame)
|
|||||||
message = new BMessage(MSG_SET_STYLE_TYPE);
|
message = new BMessage(MSG_SET_STYLE_TYPE);
|
||||||
message->AddInt32("type", STYLE_TYPE_GRADIENT);
|
message->AddInt32("type", STYLE_TYPE_GRADIENT);
|
||||||
menu->AddItem(new BMenuItem("Gradient", message));
|
menu->AddItem(new BMenuItem("Gradient", message));
|
||||||
|
|
||||||
|
#ifdef __HAIKU__
|
||||||
|
BGridLayout* layout = new BGridLayout(5, 5);
|
||||||
|
SetLayout(layout);
|
||||||
|
|
||||||
|
fStyleType = new BMenuField( "Style Type", menu, NULL);
|
||||||
|
|
||||||
|
#else
|
||||||
|
frame.OffsetTo(B_ORIGIN);
|
||||||
|
frame.InsetBy(5, 5);
|
||||||
|
frame.bottom = frame.top + 15;
|
||||||
|
|
||||||
fStyleType = new BMenuField(frame, "style type", "Style Type",
|
fStyleType = new BMenuField(frame, "style type", "Style Type",
|
||||||
menu, true);
|
menu, true);
|
||||||
AddChild(fStyleType);
|
AddChild(fStyleType);
|
||||||
@@ -70,7 +87,7 @@ StyleView::StyleView(BRect frame)
|
|||||||
fStyleType->MenuBar()->GetPreferredSize(&width, &height);
|
fStyleType->MenuBar()->GetPreferredSize(&width, &height);
|
||||||
fStyleType->MenuBar()->ResizeTo(width, height);
|
fStyleType->MenuBar()->ResizeTo(width, height);
|
||||||
fStyleType->ResizeTo(frame.Width(), height + 6);
|
fStyleType->ResizeTo(frame.Width(), height + 6);
|
||||||
|
#endif // __HAIKU__
|
||||||
|
|
||||||
// gradient type
|
// gradient type
|
||||||
menu = new BPopUpMenu("<unavailable>");
|
menu = new BPopUpMenu("<unavailable>");
|
||||||
@@ -87,6 +104,27 @@ StyleView::StyleView(BRect frame)
|
|||||||
message->AddInt32("type", GRADIENT_CONIC);
|
message->AddInt32("type", GRADIENT_CONIC);
|
||||||
menu->AddItem(new BMenuItem("Conic", message));
|
menu->AddItem(new BMenuItem("Conic", message));
|
||||||
|
|
||||||
|
#if __HAIKU__
|
||||||
|
fGradientType = new BMenuField("Gradient Type", menu, NULL);
|
||||||
|
|
||||||
|
fGradientControl = new GradientControl(new BMessage(MSG_SET_COLOR),
|
||||||
|
this);
|
||||||
|
|
||||||
|
layout->AddItem(BSpaceLayoutItem::CreateVerticalStrut(3), 0, 0, 4);
|
||||||
|
layout->AddItem(BSpaceLayoutItem::CreateHorizontalStrut(3), 0, 1, 1, 3);
|
||||||
|
|
||||||
|
layout->AddItem(fStyleType->CreateLabelLayoutItem(), 1, 1);
|
||||||
|
layout->AddItem(fStyleType->CreateMenuBarLayoutItem(), 2, 1);
|
||||||
|
|
||||||
|
layout->AddItem(fGradientType->CreateLabelLayoutItem(), 1, 2);
|
||||||
|
layout->AddItem(fGradientType->CreateMenuBarLayoutItem(), 2, 2);
|
||||||
|
|
||||||
|
layout->AddView(fGradientControl, 1, 3, 2);
|
||||||
|
|
||||||
|
layout->AddItem(BSpaceLayoutItem::CreateHorizontalStrut(3), 3, 1, 1, 3);
|
||||||
|
layout->AddItem(BSpaceLayoutItem::CreateVerticalStrut(3), 0, 4, 4);
|
||||||
|
|
||||||
|
#else // __HAIKU__
|
||||||
frame.OffsetBy(0, fStyleType->Frame().Height() + 6);
|
frame.OffsetBy(0, fStyleType->Frame().Height() + 6);
|
||||||
fGradientType = new BMenuField(frame, "gradient type", "Gradient Type",
|
fGradientType = new BMenuField(frame, "gradient type", "Gradient Type",
|
||||||
menu, true);
|
menu, true);
|
||||||
@@ -110,8 +148,9 @@ StyleView::StyleView(BRect frame)
|
|||||||
fGradientControl->MoveTo(frame.left, frame.top);
|
fGradientControl->MoveTo(frame.left, frame.top);
|
||||||
|
|
||||||
AddChild(fGradientControl);
|
AddChild(fGradientControl);
|
||||||
fGradientControl->SetEnabled(false);
|
#endif // __HAIKU__
|
||||||
|
|
||||||
|
fGradientControl->SetEnabled(false);
|
||||||
fGradientControl->Gradient()->AddObserver(this);
|
fGradientControl->Gradient()->AddObserver(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user