void StatusView::FrameResized( float width, float height) { D_HOOK(("StatusView::FrameResized()\n")); allocBackBitmap(width, height); // get the tip manager instance and reset TipManager *manager = TipManager::Instance(); manager->removeAll(this); // re-truncate the string if necessary BString text = m_fullText; if (be_plain_font->StringWidth(text.String()) > Bounds().Width() - 25.0) { be_plain_font->TruncateString(&text, B_TRUNCATE_END, Bounds().Width() - 25.0); manager->setTip(m_fullText.String(), this); } BStringView::SetText(text.String()); float minWidth, maxWidth, minHeight, maxHeight; Window()->GetSizeLimits(&minWidth, &maxWidth, &minHeight, &maxHeight); minWidth = width + 6 * B_V_SCROLL_BAR_WIDTH; Window()->SetSizeLimits(minWidth, maxWidth, minHeight, maxHeight); }
void CStatusBar::Draw( BRect updateRect) { D_HOOK(("CStatusBar::Draw()\n")); if (!m_backView) { DrawInto(this, updateRect); } else { if (m_dirty) { m_backBitmap->Lock(); DrawInto(m_backView, updateRect); m_backView->Sync(); m_backBitmap->Unlock(); m_dirty = false; } SetDrawingMode(B_OP_COPY); DrawBitmap(m_backBitmap, updateRect, updateRect); } }
void CTrackListView::AttachedToWindow() { D_HOOK(("CTrackListView::AttachedToWindow()\n")); BuildTrackList(); }
void CTrackListView::KeyDown( const char *bytes, int32 numBytes) { D_HOOK(("CTrackListView::KeyDown()\n")); switch (bytes[0]) { case B_ENTER: { Window()->PostMessage(CTrackListItem::EDIT_TRACK, this); break; } case B_DELETE: { Window()->PostMessage(CTrackListItem::DELETE_TRACK, this); break; } default: { BListView::KeyDown(bytes, numBytes); } } }
void CStatusBar::MouseDown( BPoint point) { D_HOOK(("CStatusBar::MouseDown()\n")); if ((m_scrollBar == NULL) || !Window()->IsActive()) return; int32 buttons; if (Window()->CurrentMessage()->FindInt32("buttons", &buttons) != B_OK) buttons = B_PRIMARY_MOUSE_BUTTON; if (buttons == B_PRIMARY_MOUSE_BUTTON) { // drag rect BRect dragRect(Bounds()); dragRect.left = dragRect.right - 10.0; if (dragRect.Contains(point)) { // resize m_dragging = true; SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS | B_NO_POINTER_HISTORY); } } }
void ParameterWindow::Zoom( BPoint origin, float width, float height) { D_HOOK(("ParameterWindow::Zoom()\n")); m_zooming = true; BScreen screen(this); if (!screen.Frame().Contains(Frame())) { m_zoomed = false; } if (!m_zoomed) { // resize to the ideal size m_manualSize = Bounds(); ResizeTo(m_idealSize.Width(), m_idealSize.Height()); _constrainToScreen(); m_zoomed = true; } else { // resize to the most recent manual size ResizeTo(m_manualSize.Width(), m_manualSize.Height()); m_zoomed = false; } }
void CStatusBar::MouseMoved( BPoint point, uint32 transit, const BMessage *message) { D_HOOK(("CStatusBar::MouseMoved()\n")); if (!m_scrollBar) return; if (m_dragging) { float x = point.x - (Bounds().right - 5.0); if ((Bounds().Width() + x) <= 16.0) return; if (m_scrollBar && ((m_scrollBar->Bounds().Width() - x) < (3 * B_V_SCROLL_BAR_WIDTH + 3))) x = m_scrollBar->Bounds().Width() - (3 * B_V_SCROLL_BAR_WIDTH + 3); if ((Bounds().Width() + x) < m_minWidth) x = m_minWidth - Bounds().Width(); ResizeBy(x, 0.0); BRect rect(Bounds()); rect.left = rect.right - 10.0; m_dirty = true; Invalidate(rect); if (m_scrollBar) { m_scrollBar->ResizeBy(-x, 0.0); m_scrollBar->MoveBy(x, 0.0); } } }
void DormantNodeView::MouseMoved( BPoint point, uint32 transit, const BMessage *message) { D_HOOK(("DormantNodeView::MouseMoved()\n")); int32 index; if (!message && ((index = IndexOf(point)) >= 0)) { DormantNodeListItem *item = dynamic_cast<DormantNodeListItem *>(ItemAt(index)); DormantNodeListItem *last = dynamic_cast<DormantNodeListItem *>(m_lastItemUnder); BRect r = item->getRealFrame(be_plain_font); if (item && r.Contains(point)) { if (item != last) { if (last) last->MouseOver(this, point, B_EXITED_VIEW); item->MouseOver(this, point, B_ENTERED_VIEW); m_lastItemUnder = item; } else { item->MouseOver(this, point, B_INSIDE_VIEW); } } else if (last) { last->MouseOver(this, point, B_EXITED_VIEW); } } _inherited::MouseMoved(point, transit, message); }
void StatusView::fadeTick() { D_HOOK(("StatusView::fadeTick()\n")); if (m_opacity > 0.0) { if(m_decayDelay > 0) { m_decayDelay -= TICK_PERIOD; return; } float steps = static_cast<float>(TEXT_DECAY_TIME) / static_cast<float>(TICK_PERIOD); m_opacity -= (1.0 / steps); if (m_opacity < 0.001) { m_opacity = 0.0; } m_dirty = true; Invalidate(); } else if (m_clock) { delete m_clock; m_clock = 0; // get the tip manager instance and reset TipManager *manager = TipManager::Instance(); manager->removeAll(this); } }
void StatusView::MouseMoved( BPoint point, uint32 transit, const BMessage *message) { D_HOOK(("StatusView::MouseMoved()\n")); if (m_dragging) { float x = point.x - (Bounds().right - 5.0); if ((Bounds().Width() + x) <= 16.0) { return; } if (m_scrollBar && ((m_scrollBar->Bounds().Width() - x) <= (6 * B_V_SCROLL_BAR_WIDTH))) { return; } ResizeBy(x, 0.0); BRect r(Bounds()); r.left = r.right - 5.0; if (x > 0) r.left -= x; m_dirty = true; Invalidate(r); if (m_scrollBar) { m_scrollBar->ResizeBy(-x, 0.0); m_scrollBar->MoveBy(x, 0.0); } } }
void RouteWindow::Zoom(BPoint origin, float width, float height) { D_HOOK(("RouteWindow::Zoom()\n")); m_zooming = true; BScreen screen(this); if (!screen.Frame().Contains(Frame())) { m_zoomed = false; } if (!m_zoomed) { // resize to the ideal size m_manualSize = Bounds(); float width, height; m_routingView->GetPreferredSize(&width, &height); width += B_V_SCROLL_BAR_WIDTH; height += B_H_SCROLL_BAR_HEIGHT; if (KeyMenuBar()) { height += KeyMenuBar()->Frame().Height(); } ResizeTo(width, height); _constrainToScreen(); m_zoomed = true; } else { // resize to the most recent manual size ResizeTo(m_manualSize.Width(), m_manualSize.Height()); m_zoomed = false; } }
void CStatusBar::AttachedToWindow() { D_HOOK(("CStatusBar::AttachedToWindow()\n")); FrameResized(Bounds().Width(), Bounds().Height()); }
void StatusView::AttachedToWindow() { D_HOOK(("StatusView::AttachedToWindow()\n")); if (m_manager) { m_manager->setLogTarget(BMessenger(this, Window())); } allocBackBitmap(Bounds().Width(), Bounds().Height()); }
void CStatusBar::MouseUp( BPoint point) { D_HOOK(("CStatusBar::MouseUp()\n")); if (m_scrollBar == NULL) return; m_dragging = false; }
void DormantNodeView::_freeList() { D_HOOK(("DormantNodeView::_freeList()\n")); // remove and delete all items in the list while (CountItems() > 0) { BListItem *item = ItemAt(0); if (RemoveItem(item)) { delete item; } } }
bool ParameterWindow::QuitRequested() { D_HOOK(("ParameterWindow::QuitRequested()\n")); // stop watching the MediaRoster BMediaRoster *roster = BMediaRoster::CurrentRoster(); if (roster) { roster->StopWatching(this, m_node, B_MEDIA_WILDCARD); } // tell the notification target to forget about us if (m_notifyTarget && m_notifyTarget->IsValid()) { BMessage message(M_CLOSED); message.AddInt32("nodeID", m_node.node); status_t error = m_notifyTarget->SendMessage(&message); if (error) { D_HOOK((" -> error sending message (%s) !\n", strerror(error))); } } return true; }
void RouteWindow::FrameResized(float width, float height) { D_HOOK(("RouteWindow::FrameResized()\n")); if (!m_zooming) { m_zoomed = false; } else { m_zooming = false; } }
void DormantNodeView::AttachedToWindow() { D_HOOK(("DormantNodeView::AttachedToWindow()\n")); // populate the list _populateList(); // Start watching the MediaRoster for flavor changes BMediaRoster *roster = BMediaRoster::CurrentRoster(); if (roster) { BMessenger messenger(this, Window()); roster->StartWatching(messenger, B_MEDIA_FLAVORS_CHANGED); } }
void DormantNodeView::DetachedFromWindow() { D_HOOK(("DormantNodeView::DetachedFromWindow()\n")); // delete the lists contents _freeList(); // Stop watching the MediaRoster for flavor changes BMediaRoster *roster = BMediaRoster::CurrentRoster(); if (roster) { BMessenger messenger(this, Window()); roster->StopWatching(messenger, B_MEDIA_FLAVORS_CHANGED); } }
void CDestination::Stack( CEvent &event, const CEventTask &task, CEventStack &stack, long duration) { D_HOOK(("CDestination::Stack(%s, %ld)\n", event.NameText(), duration)); event.stack.destination = this; // this does not seem to work, disable for release // event.stack.start -= (Latency() / 1000); }
void CStatusBar::FrameResized( float width, float height) { D_HOOK(("CStatusBar::FrameResized()\n")); AllocBackBitmap(width, height); if (m_scrollBar) { float minWidth, maxWidth, minHeight, maxHeight; Window()->GetSizeLimits(&minWidth, &maxWidth, &minHeight, &maxHeight); minWidth = width + 6 * B_V_SCROLL_BAR_WIDTH + 2.0; Window()->SetSizeLimits(minWidth, maxWidth, minHeight, maxHeight); } }
void CTrackListView::Draw( BRect updateRect) { D_HOOK(("CTrackListView::Draw()\n")); SetHighColor(ViewColor()); FillRect(m_lastReorderMark, B_SOLID_HIGH); if (m_reordering) { SetHighColor(64, 64, 64, 255); FillRect(m_currentReorderMark, B_SOLID_HIGH); } BListView::Draw(updateRect); }
bool DormantNodeView::InitiateDrag( BPoint point, int32 index, bool wasSelected) { D_HOOK(("DormantNodeView::InitiateDrag()\n")); DormantNodeListItem *item = dynamic_cast<DormantNodeListItem *>(ItemAt(CurrentSelection())); if (item) { BMessage dragMsg(M_INSTANTIATE_NODE); dragMsg.AddData("which", B_RAW_TYPE, reinterpret_cast<const void *>(&item->info()), sizeof(item->info())); point -= ItemFrame(index).LeftTop(); DragMessage(&dragMsg, item->getDragBitmap(), B_OP_ALPHA, point); return true; } return false; }
void CTrackListView::MouseUp( BPoint point) { D_HOOK(("CTrackListView::MouseUp()\n")); // disable reordering, actually changing the track order // will be done in MessageReceived() when drag message is // received if (m_reordering) { m_reordering = false; m_lastReorderMark = m_currentReorderMark; m_currentReorderMark = BRect(0.0, 0.0, -1.0, -1.0); Invalidate(m_lastReorderMark); } BListView::MouseUp(point); }
void DormantNodeView::GetPreferredSize( float* width, float* height) { D_HOOK(("DormantNodeView::GetPreferredSize()\n")); // calculate the accumulated size of all list items *width = 0; *height = 0; for (int32 i = 0; i < CountItems(); i++) { DormantNodeListItem *item; item = dynamic_cast<DormantNodeListItem *>(ItemAt(i)); if (item) { BRect r = item->getRealFrame(be_plain_font); if (r.Width() > *width) { *width = r.Width(); } *height += r.Height() + 1.0; } } }
void CTrackListView::GetPreferredSize( float *width, float *height) { D_HOOK(("CTrackListView::GetPreferredSize()\n")); *width = 0.0; *height = 0.0; for (int32 i = 0; i < CountItems(); i++) { CTrackListItem *item = dynamic_cast<CTrackListItem *>(ItemAt(i)); if (item) { if ((item->Width() + 6.0) > *width) *width = item->Width() + 6.0; *height += item->Height() + 1.0; } } *width += 15.0; }
void DormantNodeView::MouseDown( BPoint point) { D_HOOK(("DormantNodeView::MouseDown()\n")); BMessage* message = Window()->CurrentMessage(); int32 buttons = message->FindInt32("buttons"); if (buttons == B_SECONDARY_MOUSE_BUTTON) { int32 index; if ((index = IndexOf(point)) >= 0) { DormantNodeListItem *item = dynamic_cast<DormantNodeListItem *>(ItemAt(index)); if (item) { Select(index); BRect r = item->getRealFrame(be_plain_font); if (r.Contains(point)) { item->showContextMenu(point, this); } } } } _inherited::MouseDown(point); }
void CTrackListView::MouseDown( BPoint point) { D_HOOK(("CTrackListView::MouseDown()\n")); Window()->Activate(); int32 buttons = B_PRIMARY_MOUSE_BUTTON; if (Window()->CurrentMessage()->FindInt32("buttons", &buttons) != B_OK) return; int32 clicks = 0; if (Window()->CurrentMessage()->FindInt32("clicks", &clicks) != B_OK) return; if ((buttons == B_SECONDARY_MOUSE_BUTTON) || (modifiers() & B_CONTROL_KEY)) { int32 index = IndexOf(point); Select(index); ShowContextMenu(point); } else { if (clicks == 2) { BRect dblClickRect = BRect(m_lastClickPoint - BPoint(2.0, 2.0), m_lastClickPoint + BPoint(2.0, 2.0)); if ((buttons == m_lastClickButton) && (dblClickRect.Contains(point))) { Window()->PostMessage(CTrackListItem::EDIT_TRACK, this); return; } } m_lastClickPoint = point; m_lastClickButton = buttons; BListView::MouseDown(point); } }
bool CTrackListView::InitiateDrag( BPoint point, int32 index, bool wasSelected) { D_HOOK(("CTrackListView::InitiateDrag()\n")); CTrackListItem *item = dynamic_cast<CTrackListItem *>(ItemAt(index)); if (item) { BMessage dragMsg(MeVDragMsg_ID); dragMsg.AddInt32("Type", DragTrack_ID); dragMsg.AddInt32("TrackID", item->GetTrackID()); dragMsg.AddInt32("Index", index); dragMsg.AddPointer("Document", m_doc); point -= ItemFrame(index).LeftTop(); DragMessage(&dragMsg, item->GetDragBitmap(), B_OP_ALPHA, point); return true; } return false; }
void CDestinationDeleteUndoAction::Undo() { D_HOOK(("CDestinationDeleteUndoAction::Undo()\n")); m_dest->Undelete(m_index); }