예제 #1
0
파일: Tool.cpp 프로젝트: HaikuArchives/MeV
CTool *
CTool::PreviousTool() const
{
	D_ACCESS(("CTool::PreviousTool()\n"));

	return ToolBar()->ToolAt(ToolBar()->IndexOf(this) - 1);
}
예제 #2
0
파일: Tool.cpp 프로젝트: HaikuArchives/MeV
CTool *
CTool::NextTool() const
{
	D_ACCESS(("CTool::NextTool()\n"));

	return ToolBar()->ToolAt(ToolBar()->IndexOf(this) + 1);
}
예제 #3
0
파일: ToolBar.cpp 프로젝트: koz4k/soccer
void StaticBarArea::Paint(Draw& w)
{
	if(IsNull(ToolBar().StyleDefault().arealook))
		ChPaint(w, GetSize(), ToolBar().StyleDefault().look);
	else
		PaintBarArea(w, this, ToolBar().StyleDefault().arealook,
		             upperframe ? Null : GetScreenRect().bottom);
}
예제 #4
0
Wt::WWidget *Navigation::toolBar()
{
  Wt::WTemplate *result = new TopicTemplate("navigation-toolBar");

  result->bindWidget("ToolBar", ToolBar());

  return result;
}
예제 #5
0
void
CAssemblyWindow::NewEventTypeChanged(
	event_type type)
{
	BBitmap *bitmap;
	switch (type)
	{
		case EvtType_Tempo:
		{
			bitmap = ResourceUtils::LoadImage("MetroTool");
			break;
		}
		case EvtType_TimeSig:
		{
			bitmap = ResourceUtils::LoadImage("TimeSigTool");
			break;
		}
		case EvtType_Repeat:
		{
			bitmap = ResourceUtils::LoadImage("RepeatTool");
			break;
		}
		case EvtType_End:
		{
			bitmap = ResourceUtils::LoadImage("EndTool");
			break;
		}
		default:
		{
			bitmap = ResourceUtils::LoadImage("PencilTool");
			break;
		}
	}
	CMenuTool *tool = dynamic_cast<CMenuTool *>
					  (ToolBar()->FindTool("Create"));
	if (tool && bitmap)
	{
		tool->SetBitmap(bitmap);
		ToolBar()->Invalidate(tool->Frame());
	}
}
예제 #6
0
void
CMenuTool::SetBitmap(
	BBitmap *bitmap)
{
	D_OPERATION(("CMenuTool::SetBitmap()\n"));

	if (bitmap && (bitmap != m_bitmap))
	{
		delete m_bitmap;
		delete m_disabledBitmap;

		m_bitmap = bitmap;

		// calculate disabled bitmap
		BScreen screen;
		uint8 light = screen.IndexForColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR),
													  B_LIGHTEN_1_TINT));
		uint8 dark  = screen.IndexForColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR),
													  B_DARKEN_1_TINT));
		m_disabledBitmap = new BBitmap(bitmap);
		uint8 *start = (uint8 *)m_disabledBitmap->Bits();
		uint8 *end = start + m_disabledBitmap->BitsLength();
		for (uint8 *pos = start; pos < end; pos++)
		{
			rgb_color color = screen.ColorForIndex(*pos);
			if ((color.alpha < 255) || (color.red + color.green + color.blue >= 765))
				continue;
			if (color.red + color.green + color.blue > 384)
				*pos = light;
			else
				*pos = dark;
		}
	}

	if (ToolBar())
		ToolBar()->Invalidate();
}
예제 #7
0
bool
CAssemblyWindow::AddStrip(
	BString type,
	float proportion)
{
	BRect rect(Bounds());
	rect.top = ToolBar()->Frame().bottom + 1.0;
	rect.bottom -= B_H_SCROLL_BAR_HEIGHT;

	CRulerView *ruler = NULL;
	CStripView *strip = NULL;

	if (type == "Arrangement")
	{
		strip = new CTrackCtlStrip(*stripFrame, rect,
								   (CEventTrack *)Document()->FindTrack(1),
								   "Arrangement");
		ruler = new CRulerView(BRect(0.0, 0.0, rect.Width(),
									 CTrackWindow::DEFAULT_RULER_HEIGHT),
							   "", *this, stripFrame,
							   (CEventTrack *)Document()->FindTrack(1),
							   B_FOLLOW_LEFT_RIGHT,
							   B_WILL_DRAW);
	}
	else if (type == "Real")
	{
		strip = new CTrackCtlStrip(*stripFrame, rect,
								   (CEventTrack *)Document()->FindTrack((int32)0),
								   "Real");
		ruler = new CRulerView(BRect(0.0, 0.0, rect.Width(), 
									 CTrackWindow::DEFAULT_RULER_HEIGHT),
							   NULL, *this, stripFrame,
							   (CEventTrack *)Document()->FindTrack((int32)0),
							   B_FOLLOW_LEFT_RIGHT,
							   B_WILL_DRAW);
		ruler->ShowMarkers(false);
	}

	if (strip)
	{
		if (ruler)
			strip->SetRulerView(ruler);
		stripFrame->AddStrip(strip, proportion);
		return true;
	}

	return CTrackWindow::AddStrip(type, proportion);
}
예제 #8
0
void
CMenuTool::Clicked(
	BPoint point,
	uint32 buttons)
{
	if (point.x < m_popUpOffset.x)
	{
		SetValue(!Value());
	}
	else if (m_menu)
	{
		BPoint screenPoint = ToolBar()->ConvertToScreen(m_popUpOffset);
		m_menu->Go(screenPoint, true, true, true);
		Select(false);
	}
}
예제 #9
0
void CVariablePage::UpdateToolBar(HWND hWndToolBar)
{
	CToolBarCtrl ToolBar(hWndToolBar);
	ToolBar.SetImageList(m_ToolbarImgList);
	int Count = ToolBar.GetButtonCount();
	int i;
	int nSeps = 0;
	BOOL Res;
	for (i = 0; i < min(Count, DDX_BUTTON_COUNT); i++)
	{
		TBBUTTONINFO tb;
		tb.cbSize = sizeof(tb);
		tb.dwMask = TBIF_IMAGE | TBIF_STYLE;
		tb.fsStyle = TBSTYLE_BUTTON;
		tb.iImage = i - nSeps;

		tb.idCommand = FIRST_DDX_COMMAND + i;
		ToolBar.SetCmdID(i, tb.idCommand)		;
		Res = ToolBar.SetButtonInfo(tb.idCommand, &tb);
	}
	if (Count < DDX_BUTTON_COUNT)
	{
		TBBUTTON Buttons[DDX_BUTTON_COUNT];
		int Delta = DDX_BUTTON_COUNT - Count;
		for (i = 0; i < Delta; i++)
		{
			Buttons[i].iBitmap = i + Count - nSeps;
			Buttons[i].fsState = TBSTATE_ENABLED;
			Buttons[i].fsStyle = TBSTYLE_BUTTON;
			Buttons[i].dwData = 0;
			Buttons[i].iString = 0;
			
			Buttons[i].idCommand = FIRST_DDX_COMMAND + i + Count;
		}
		ToolBar.AddButtons(Delta, Buttons);
	}
	if (Count > DDX_BUTTON_COUNT)
	{
		for (i = Count - 1; i >= DDX_BUTTON_COUNT; i--)
		{
			ToolBar.DeleteButton(i);
		}
	}
	ToolBar.Detach();
}
예제 #10
0
void CFunctionPage::UpdateToolBar(HWND hWndToolBar)
{
	CToolBarCtrl ToolBar(hWndToolBar);
	ToolBar.SetImageList(m_ToolbarImgList);
	int Count = ToolBar.GetButtonCount();
	int i;
	int nSeps = 0;
	for (i = 0; i < min(Count, FUNC_BUTTON_COUNT); i++)
	{
		TBBUTTONINFO tb;
		tb.cbSize = sizeof(tb);
		tb.dwMask = 0;
		if (s_FuncButtons[i].fsStyle != TBSTYLE_SEP)
		{
			tb.dwMask = TBIF_IMAGE;
			tb.iImage = s_FuncButtons[i].iBitmap;
		}
		
		tb.fsStyle = s_FuncButtons[i].fsStyle;
		tb.dwMask |= TBIF_STYLE | TBIF_BYINDEX | TBIF_COMMAND;
		tb.idCommand = s_FuncButtons[i].idCommand;
		ToolBar.SetButtonInfo(i, &tb);
	}
	if (Count < FUNC_BUTTON_COUNT)
	{
		int Delta = FUNC_BUTTON_COUNT - Count;
		ToolBar.AddButtons(Delta, &s_FuncButtons[Count]);
	}
	if (Count > FUNC_BUTTON_COUNT)
	{
		for (i = Count - 1; i >= FUNC_BUTTON_COUNT; i--)
		{
			ToolBar.DeleteButton(i);
		}
	}
	ToolBar.Detach();
}
예제 #11
0
CAssemblyWindow::CAssemblyWindow(
	BRect frame,
	CMeVDoc *document,
	bool hasSettings)
	:	CTrackWindow(frame, document, true, 
					 (CEventTrack *)document->FindTrack(1),
					 hasSettings)
{
	D_ALLOC(("CAssemblyWindow::CAssemblyWindow(%s)\n",
			 hasSettings ? "hasSettings == true" : "hasSettings == false"));

	document->FindTrack((int32)0)->AddObserver(this);

	AddMenuBar();
	AddToolBar();

	// ++++++ retrieve this from window settings if possible
	m_toolStates[0] = CEventEditor::TOOL_SELECT;

	// add the default strips
	BRect rect(Bounds());
	rect.top = ToolBar()->Frame().bottom + 1.0;
	rect.bottom -= B_H_SCROLL_BAR_HEIGHT;

	AddFrameView(rect, (CTrack *)Document()->FindTrack(1));
	stripFrame->AddType("Arrangement",
						ResourceUtils::LoadImage("AssemblyStrip"));

	if (!hasSettings)
	{
		// add default strip
		AddStrip("Arrangement", 1.0);
		stripFrame->PackStrips();
	}

	SetNewEventType(EvtType_Sequence);
}
예제 #12
0
void
CMenuTool::ValueChanged()
{
	ToolBar()->Invalidate(Frame());
}
예제 #13
0
void
CMenuTool::DrawTool(
	BView *owner,
	BRect toolRect)
{
	D_HOOK(("CMenuTool::DrawTool()\n"));

	BRect bitmapRect = toolRect;
	bitmapRect.right -= 8;
	BRect menuRect = toolRect;
	menuRect.left = bitmapRect.right;

	m_popUpOffset = menuRect.LeftTop();
		// remember offset of the popup menu

	if (IsEnabled() && (IsSelected() || Value()))
	{
		if (Value() == B_CONTROL_ON)
		{
			StdBevels::DrawBorderBevel(owner, bitmapRect, StdBevels::DEPRESSED_BEVEL);
			if (IsSelected())
			{
				StdBevels::DrawBorderBevel(owner, menuRect, StdBevels::DEPRESSED_BEVEL);
			}
		}
		else
		{
			StdBevels::DrawBorderBevel(owner, bitmapRect, StdBevels::NORMAL_BEVEL);
			StdBevels::DrawBorderBevel(owner, menuRect, StdBevels::NORMAL_BEVEL);
		}
		if (IsSelected())
		{
			BRect arrowRect = menuRect;
			arrowRect.InsetBy(1.0, arrowRect.Height() / 2.0 - 1.0);
			rgb_color gray = tint_color(ui_color(B_PANEL_BACKGROUND_COLOR),
										B_DARKEN_2_TINT);
			owner->BeginLineArray(3);
			owner->AddLine(arrowRect.LeftTop(), arrowRect.RightTop(), gray);
			arrowRect.InsetBy(1.0, 0.0);
			arrowRect.top += 1.0;
			owner->AddLine(arrowRect.LeftTop(), arrowRect.RightTop(), gray);
			arrowRect.InsetBy(1.0, 0.0);
			arrowRect.top += 1.0;
			owner->AddLine(arrowRect.LeftTop(), arrowRect.RightTop(), gray);
			owner->EndLineArray();
		}
	}
	else
	{
		owner->SetDrawingMode(B_OP_COPY);
		owner->SetLowColor(ToolBar()->ViewColor());
		owner->FillRect(toolRect, B_SOLID_LOW);
	}

	if (IsEnabled())
	{
		owner->SetDrawingMode(B_OP_OVER);
		owner->DrawBitmapAsync(m_bitmap, toolRect.LeftTop()
										 + BPoint(BORDER_WIDTH,
										 		  BORDER_HEIGHT));
	}
	else
	{
		owner->SetDrawingMode(B_OP_OVER);
		owner->DrawBitmapAsync(m_disabledBitmap, toolRect.LeftTop()
												 + BPoint(BORDER_WIDTH,
										 				  BORDER_HEIGHT));
	}
}