Ejemplo n.º 1
0
void tcStoresGui::IncrementPage(int dir)
{
    size_t nPages = pageBoxes.size();
    if (nPages == 0) return;
    
    if ((dir > 0) && (currentPage < (nPages-1)))
    {
        SetCurrentPage(currentPage+1);
    }
    else if ((dir < 0) && (currentPage > 0))
    {
        SetCurrentPage(currentPage-1);
    }
}
Ejemplo n.º 2
0
// Actual zoom code.
void CPreviewView::DoZoom(UINT nPage, CPoint point)
{
	if (m_nZoomState == ZOOM_OUT)
	{
		// taking over scroll bars
		m_nPages = m_nZoomOutPages;
		ShowScrollBar(SB_HORZ, FALSE);      //hide the horizontal bar

		BOOL bShowBar = m_pPreviewInfo->GetMaxPage() < 0x8000 &&
			m_pPreviewInfo->GetMaxPage() -
			m_pPreviewInfo->GetMinPage() <= 32767U;

		ShowScrollBar(SB_VERT, bShowBar);       //Show the vertical bar

		if (bShowBar)
		{
			SetScrollRange(SB_VERT, m_pPreviewInfo->GetMinPage(),
								m_pPreviewInfo->GetMaxPage(), FALSE);

			SetScrollPos(SB_VERT, m_nCurrentPage, TRUE);
		}

		SetCurrentPage(m_nCurrentPage, TRUE);
	}
	else
	{
		m_nPages = 1;       // only one page in zoomed states

		m_pPageInfo[0].sizeZoomOutRatio = m_pPageInfo[nPage].sizeZoomOutRatio;
		m_pPageInfo[0].sizeUnscaled = m_pPageInfo[nPage].sizeUnscaled;

		// Sets the printer page
		SetCurrentPage(m_nCurrentPage + nPage, FALSE);

		SetScaledSize(0);

		CSize* pRatio = &m_pPageInfo[nPage].sizeScaleRatio;

		// convert Hit Point from screen 1:1
		point.x = MulDiv(point.x, pRatio->cx, pRatio->cy);
		point.y = MulDiv(point.y, pRatio->cx, pRatio->cy);

		// Adjust point for page position
		point += (CSize)m_pPageInfo[0].rectScreen.TopLeft();

		// Scroll to center
		CenterOnPoint(point);
	}
}
Ejemplo n.º 3
0
void
TabMenuControl::SetCurrentPage(TabMenuControl::MenuTabIndex menuIndex)
{
  assert(!menuIndex.IsNone());

  SetCurrentPage(GetPageNum(menuIndex));
}
Ejemplo n.º 4
0
//-----------------------------------------------------------------------------
//!
//-----------------------------------------------------------------------------
void tPagesSettings::GenerateDefaultPagesSettings()
{
    if ( m_pProductFactory )
    {
        // maximum of 8 pages plus MOB page
        SetCurrentPage( 1 );

        QList<Page::ePageId> defaultPages( m_pProductFactory->GetPageFactory()->GetDefaultPages() );

        int page = 0;
        foreach ( Page::ePageId pageId, defaultPages )
        {
            tPageConfig pageConfig = tPageConfig( PageConfig( pageId ) );
            SetPageConfigPrivate( page++, &pageConfig );
        }

        for ( int i(page); i < 8; ++i )
        {
            tPageConfig pageConfig = tPageConfig( PageConfig( m_pProductFactory->GetPageFactory()->GetAllowedPages().at( 0 ), false ) );
            SetPageConfigPrivate( page++, &pageConfig );
        }

        if ( m_pProductFactory->ProductSupportsMob() == true )
        {
            // todo remove magic 9
            // Mob page
            tPageConfig pageConfig = tPageConfig( PageConfig( Page::ePageMOB, false ) );
            SetPageConfigPrivate( defaultPages.count(), &pageConfig );
        }

        m_Settings.Synchronize();
    }
Ejemplo n.º 5
0
BOOL AnimeDialog::OnInitDialog() {
  if (mode_ == DIALOG_MODE_NOW_PLAYING) {
    SetStyle(DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN, WS_OVERLAPPEDWINDOW);
    SetStyle(0, WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE, GWL_EXSTYLE);
    SetParent(g_hMain);
  }

  // Initialize image label
  image_label_.Attach(GetDlgItem(IDC_STATIC_ANIME_IMG));

  // Initialize title
  edit_title_.Attach(GetDlgItem(IDC_EDIT_ANIME_TITLE));
  edit_title_.SendMessage(WM_SETFONT, reinterpret_cast<WPARAM>(UI.font_header.Get()), FALSE);

  // Initialize
  sys_link_.Attach(GetDlgItem(IDC_LINK_NOWPLAYING));
  sys_link_.Hide();
  
  // Initialize tabs
  tab_.Attach(GetDlgItem(IDC_TAB_ANIME));
  switch (mode_) {
    case DIALOG_MODE_ANIME_INFORMATION:
      tab_.InsertItem(0, L"Main information", 0);
      if (AnimeDatabase.FindItem(anime_id_)->IsInList())
        tab_.InsertItem(1, L"My list and settings", 0);
      break;
    case DIALOG_MODE_NOW_PLAYING:
      tab_.Hide();
      break;
  }

  // Initialize pages
  page_series_info.parent = this;
  page_my_info.parent = this;
  page_series_info.Create(IDD_ANIME_INFO_PAGE01, m_hWindow, false);
  switch (mode_) {
    case DIALOG_MODE_ANIME_INFORMATION:
      page_my_info.Create(IDD_ANIME_INFO_PAGE02, m_hWindow, false);
      EnableThemeDialogTexture(page_series_info.GetWindowHandle(), ETDT_ENABLETAB);
      EnableThemeDialogTexture(page_my_info.GetWindowHandle(), ETDT_ENABLETAB);
      break;
    case DIALOG_MODE_NOW_PLAYING:
      break;
  }

  // Initialize buttons
  int show = SW_SHOW;
  if (mode_ == DIALOG_MODE_NOW_PLAYING ||
      !AnimeDatabase.FindItem(anime_id_)->IsInList()) {
    show = SW_HIDE;
  }
  ShowDlgItem(IDOK, show);
  ShowDlgItem(IDCANCEL, show);

  // Refresh
  SetCurrentPage(current_page_);
  Refresh();

  return TRUE;
}
Ejemplo n.º 6
0
void AnimeDialog::SetCurrentId(int anime_id) {
  anime_id_ = anime_id;
  
  switch (anime_id_) {
    case anime::ID_NOTINLIST:
      SetCurrentPage(INFOPAGE_NOTRECOGNIZED);
      break;
    case anime::ID_UNKNOWN:
      SetCurrentPage(INFOPAGE_NONE);
      break;
    default:
      SetCurrentPage(INFOPAGE_SERIESINFO);
      break;
  }

  Refresh();
}
Ejemplo n.º 7
0
int TABLEDBInfo::PageMove(int a_nPageDistance)
{
	int nNewpage = m_nCurrentPage + a_nPageDistance;
	nNewpage = MIN(nNewpage, m_nTotalPage);
	nNewpage = MAX(nNewpage, 1);
	SetCurrentPage(nNewpage);
	return m_nCurrentPage;
}
Ejemplo n.º 8
0
void
TabMenuControl::NextPage()
{
  const unsigned NumAllPages = pager.GetTabCount();
  if (NumAllPages < 2)
    return;
  SetCurrentPage((GetCurrentPage() + 1) % NumAllPages);
}
Ejemplo n.º 9
0
void
TabbedControl::NextPage()
{
  if (tabs.size() < 2)
    return;

  assert(current < tabs.size());

  SetCurrentPage((current + 1) % tabs.size());
}
Ejemplo n.º 10
0
void
TabbedControl::PreviousPage()
{
  if (tabs.size() < 2)
    return;

  assert(current < tabs.size());

  SetCurrentPage((current + tabs.size() - 1) % tabs.size());
}
Ejemplo n.º 11
0
void CPreviewView::OnNumPageChange()
{
	ASSERT(m_nPages == 1 || m_nPages == 2);
	m_nPages = 3 - m_nPages;    // Toggle between 1 and 2
	AfxGetApp()->m_nNumPreviewPages = m_nPages;
	m_nZoomOutPages = m_nPages;

	// Just do this to set the status correctly and invalidate
	SetCurrentPage(m_nCurrentPage, TRUE);
}
void TBTabContainer::OnProcess()
{
	if (m_need_page_update)
	{
		m_need_page_update = false;
		// Force update SetCurrentPage
		int current_page = m_current_page;
		m_current_page = -1;
		SetCurrentPage(current_page);
	}
}
bool TBTabContainer::OnEvent(const TBWidgetEvent &ev)
{
	if ((ev.type == EVENT_TYPE_CLICK || ev.type == EVENT_TYPE_POINTER_DOWN) &&
		ev.target->GetID() == TBIDC("tab"))
	{
		int clicked_index = m_tab_layout.GetIndexFromChild(ev.target);
		SetCurrentPage(clicked_index);
		return true;
	}
	return false;
}
Ejemplo n.º 14
0
LRESULT AnimeDialog::OnNotify(int idCtrl, LPNMHDR pnmh) {
  switch (idCtrl) {
    case IDC_LINK_NOWPLAYING: {
      switch (pnmh->code) {
        // Link click
        case NM_CLICK: {
          PNMLINK pNMLink = reinterpret_cast<PNMLINK>(pnmh);
          wstring action = pNMLink->item.szUrl;
          if (IsEqual(pNMLink->item.szID, L"menu")) {
            action = UI.Menus.Show(m_hWindow, 0, 0, pNMLink->item.szUrl);
          } else if (IsEqual(pNMLink->item.szID, L"search")) {
            action = L"SearchAnime(" + CurrentEpisode.title + L")";
          } else if (IsEqual(pNMLink->item.szUrl, L"score")) {
            action = L"";
            CurrentEpisode.anime_id = ToInt(pNMLink->item.szID);
            auto anime_item = AnimeDatabase.FindItem(CurrentEpisode.anime_id);
            if (anime_item) {
              anime_item->AddtoUserList();
              auto synonyms = anime_item->GetUserSynonyms();
              synonyms.push_back(CurrentEpisode.title);
              anime_item->SetUserSynonyms(synonyms);
              Meow.UpdateCleanTitles(anime_item->GetId());
              Settings.Save();
              anime_item->StartWatching(CurrentEpisode);
              MainDialog.ChangeStatus();
            }
          }
          ExecuteAction(action, 0, GetCurrentId());
          return TRUE;
        }

        // Custom draw
        case NM_CUSTOMDRAW: {
          return CDRF_DODEFAULT;
        }
      }
      break;
    }

    case IDC_TAB_ANIME: {
      switch (pnmh->code) {
        // Tab select
        case TCN_SELCHANGE: {
          SetCurrentPage(tab_.GetCurrentlySelected() + 1);
          break;
        }
      }
      break;
    }
  }
  
  return 0;
}
Ejemplo n.º 15
0
/**
* Change page if click in page box
*/
void tcStoresGui::OnLButtonDown(wxMouseEvent& event)
{
    wxPoint pos = event.GetPosition();

    size_t nPages = pageBoxes.size();
    for (size_t n=0; n<nPages; n++)
    {
        if (pageBoxes[n].ContainsPoint(float(pos.x), float(pos.y)))
        {
            if (n != currentPage) SetCurrentPage(n);
            return;
        }
    }

    tcContainerGui::OnLButtonDown(event);
}
Ejemplo n.º 16
0
void tcStoresGui::InitializeGui()
{
	tcStores* stores = GetStores();
    wxASSERT(stores);
    if (stores == 0) return;

//	tcStoresDBObject* storesData = stores->GetDatabaseObject();
//    wxASSERT(storesData);

    for (size_t n=0; n<maxSlots; n++)
    {    
        tcRect slotLoc(upperLeft.x, upperLeft.x + slotSize,
                   upperLeft.y, upperLeft.y + slotSize + float(n%slotsPerPage)*verticalSpacing);

        AddSlot(slotLoc, tcContainerGui::SMALL_ICON_SIZE);
    }

    SetCurrentPage(0);
}
Ejemplo n.º 17
0
void NavigateToPage( HWND appHwnd, Document * doc, NMTREEVIEW * info )
{
	if (!info->itemNew.hItem)
		return;
	
	Dictionary * dict = (Dictionary *)info->itemNew.lParam;

	if (!dict)
		return;

	PObject dest = dict->Get( "Dest", doc->xrefTable );
	if (!dest)
		return;

	if (dest->Type() == ObjectType::String)
	{
		String * s = (String *)dest.get();
		dest = Object::ResolveIndirect_<Object>( NameTreeGetValue( doc, *s ), doc->xrefTable );
	}

	PArray destArray;

	if (dest->Type() == ObjectType::Dictionary)
	{
		PDictionary d = boost::shared_static_cast<Dictionary>(dest);
		//TODO: Implement link action
		//For now handle everything as GoTo (here be Raptors)
		//d->Get<Name>("S", doc->xrefTable);
		destArray = d->Get<Array>("D", doc->xrefTable);
	}
	else if (dest->Type() == ObjectType::Array)
		destArray = boost::shared_static_cast<Array>(dest);

	if (destArray)
	{
		if (destArray->elements.empty()) return;
		
		PDictionary page = Object::ResolveIndirect_<Dictionary>( destArray->elements[0], doc->xrefTable );

		SetCurrentPage( page );
	}
}
Ejemplo n.º 18
0
void CPreviewView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	if (m_nZoomState != ZOOM_OUT)
	{
		CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
		return;
	}

	switch (nSBCode)
	{
	case SB_BOTTOM:
		SetCurrentPage(m_pPreviewInfo->GetMaxPage(), TRUE);
		break;

	case SB_TOP:
		SetCurrentPage(m_pPreviewInfo->GetMinPage(), TRUE);
		break;

	case SB_PAGEDOWN:
		SetCurrentPage(m_nCurrentPage +
			(m_pPreviewInfo->GetMaxPage() - m_pPreviewInfo->GetMinPage() + 9) / 10, TRUE);
		break;

	case SB_PAGEUP:
		SetCurrentPage(m_nCurrentPage -
			(m_pPreviewInfo->GetMaxPage() - m_pPreviewInfo->GetMinPage() + 9) / 10, TRUE);
		break;

	case SB_LINEDOWN:
		SetCurrentPage(m_nCurrentPage + 1, TRUE);
		break;

	case SB_LINEUP:
		SetCurrentPage(m_nCurrentPage - 1, TRUE);
		break;

	case SB_THUMBPOSITION:
		SetCurrentPage(nPos, TRUE);
		break;
	}
}
Ejemplo n.º 19
0
BOOL CPreviewView::SetPrintView(CView* pPrintView)
{
	ASSERT_VALID(pPrintView);

	m_pPrintView = pPrintView;

	// allocate preview info
	m_pPreviewInfo = new CPrintInfo;
	m_pPreviewInfo->m_pPD->SetHelpID(AFX_IDD_PRINTSETUP);
	m_pPreviewInfo->m_pPD->m_pd.Flags |= PD_PRINTSETUP;
	m_pPreviewInfo->m_pPD->m_pd.Flags &= ~PD_RETURNDC;

	m_pPreviewInfo->m_bPreview = TRUE;  // signal that this is preview
	ASSERT(m_pPreviewInfo->m_pPD != NULL);

	m_pPreviewDC = new CPreviewDC;      // must be created before any
										// possible error returns

	if (!m_pPrintView->OnPreparePrinting(m_pPreviewInfo))
		return FALSE;

#ifdef _DEBUG
	if (m_pPreviewInfo->m_pPD->m_pd.hDC == NULL)
	{
		TRACE0("Error: hDC not set for printing --\n");
		TRACE0("\tDid you remember to call DoPreparePrinting?\n");
		ASSERT(FALSE);      // common mistake gets trapped here
	}
#endif //_DEBUG

	m_dcPrint.Attach(m_pPreviewInfo->m_pPD->m_pd.hDC);
	m_pPreviewDC->SetAttribDC(m_pPreviewInfo->m_pPD->m_pd.hDC);
	m_pPreviewDC->m_bPrinting = TRUE;
	m_dcPrint.m_bPrinting = TRUE;

	m_dcPrint.SaveDC();     // Save pristine state of DC

	HDC hDC = ::GetDC(m_hWnd);
	m_pPreviewDC->SetOutputDC(hDC);
	m_pPrintView->OnBeginPrinting(m_pPreviewDC, m_pPreviewInfo);
	m_pPreviewDC->ReleaseOutputDC();
	::ReleaseDC(m_hWnd, hDC);

	m_dcPrint.RestoreDC(-1);    // restore to untouched state

	// Get Pixels per inch from Printer
	m_sizePrinterPPI.cx = m_dcPrint.GetDeviceCaps(LOGPIXELSX);
	m_sizePrinterPPI.cy = m_dcPrint.GetDeviceCaps(LOGPIXELSY);

	m_nPages = m_pPreviewInfo->m_nNumPreviewPages;
	if (m_nPages == 0)
		m_nPages = 1;
	else if (m_nPages > m_nMaxPages)
		m_nPages = m_nMaxPages;     // Sanity Check!

	m_nZoomOutPages = m_nPages;

	SetScrollSizes(MM_TEXT, CSize(1, 1));   // initialize mapping mode only

	if (m_pPreviewInfo->GetMaxPage() < 0x8000 &&
		m_pPreviewInfo->GetMaxPage() - m_pPreviewInfo->GetMinPage() <= 32767U)
		SetScrollRange(SB_VERT, m_pPreviewInfo->GetMinPage(),
				m_pPreviewInfo->GetMaxPage(), FALSE);
	else
		ShowScrollBar(SB_VERT, FALSE);      // if no range specified, or too
											// large don't show

	SetCurrentPage(m_pPreviewInfo->m_nCurPage, TRUE);
	return TRUE;
}
Ejemplo n.º 20
0
void CPreviewView::OnNextPage()
{
	SetCurrentPage(m_nCurrentPage + 1, TRUE);
}
Ejemplo n.º 21
0
void CPreviewView::OnPrevPage()
{
	SetCurrentPage(m_nCurrentPage - 1, TRUE);
}
Ejemplo n.º 22
0
unsigned
TabMenuControl::GotoMenuPage()
{
  SetCurrentPage(GetMenuPage());
  return GetMenuPage();
}
Ejemplo n.º 23
0
void CPreviewView::OnDraw(CDC* pDC)
{
	ASSERT_VALID(pDC);

	// don't do anything if not fully initialized
	if (m_pPrintView == NULL || m_dcPrint.m_hDC == NULL)
		return;

	CPoint ViewportOrg = pDC->GetViewportOrg();

	CPen rectPen;
	rectPen.CreatePen(PS_SOLID, 2, GetSysColor(COLOR_WINDOWFRAME));
	CPen shadowPen;
	shadowPen.CreatePen(PS_SOLID, 3, GetSysColor(COLOR_BTNSHADOW));

	m_pPreviewInfo->m_bContinuePrinting = TRUE;     // do this once each paint

	for (UINT nPage = 0; nPage < m_nPages; nPage++)
	{
		int nSavedState = m_dcPrint.SaveDC();       // Save pristine state of DC

		// Use paint DC for print preview output
		m_pPreviewDC->SetOutputDC(pDC->GetSafeHdc());

		m_pPreviewInfo->m_nCurPage = m_nCurrentPage + nPage;

		// Only call PrepareDC if within page range, otherwise use default
		// rect to draw page rectangle
		if (m_nCurrentPage + nPage <= m_pPreviewInfo->GetMaxPage())
			m_pPrintView->OnPrepareDC(m_pPreviewDC, m_pPreviewInfo);

		// Set up drawing rect to entire page (in logical coordinates)
		m_pPreviewInfo->m_rectDraw.SetRect(0, 0,
			m_pPreviewDC->GetDeviceCaps(HORZRES),
			m_pPreviewDC->GetDeviceCaps(VERTRES));
		m_pPreviewDC->DPtoLP(&m_pPreviewInfo->m_rectDraw);

		// Draw empty page on screen

		pDC->SaveDC();          // save the output dc state

		CSize* pRatio = &m_pPageInfo[nPage].sizeScaleRatio;
		CRect* pRect = &m_pPageInfo[nPage].rectScreen;

		if (pRatio->cx == 0)
		{   // page position has not been determined
			PositionPage(nPage);    // compute page position
			if (m_nZoomState != ZOOM_OUT)
				ViewportOrg = -GetDeviceScrollPosition();
		}

		pDC->SetMapMode(MM_TEXT);   // Page Rectangle is in screen device coords
		pDC->SetViewportOrg(ViewportOrg);
		pDC->SetWindowOrg(0, 0);

		pDC->SelectStockObject(HOLLOW_BRUSH);
		pDC->SelectObject(&rectPen);
		pDC->Rectangle(pRect);

		pDC->SelectObject(&shadowPen);

		pDC->MoveTo(pRect->right + 1, pRect->top + 3);
		pDC->LineTo(pRect->right + 1, pRect->bottom + 1);
		pDC->MoveTo(pRect->left + 3, pRect->bottom + 1);
		pDC->LineTo(pRect->right + 1, pRect->bottom + 1);

		// erase background to white (most paper is white)
		CRect rectFill = *pRect;
		rectFill.left += 1;
		rectFill.top += 1;
		rectFill.right -= 2;
		rectFill.bottom -= 2;
		::FillRect(pDC->m_hDC, rectFill, (HBRUSH)GetStockObject(WHITE_BRUSH));

		pDC->RestoreDC(-1);     // restore to synchronized state

		if (!m_pPreviewInfo->m_bContinuePrinting ||
				m_nCurrentPage + nPage > m_pPreviewInfo->GetMaxPage())
		{
			m_pPreviewDC->ReleaseOutputDC();
			m_dcPrint.RestoreDC(nSavedState);   // restore to untouched state

			// if the first page is not displayable, back up one page
			// but never go below 1
			if (nPage == 0 && m_nCurrentPage > 1)
				SetCurrentPage(m_nCurrentPage - 1, TRUE);
			break;
		}

		// Display page number
		OnDisplayPageNumber(m_nCurrentPage, nPage + 1);

		// Set scale ratio for this page
		m_pPreviewDC->SetScaleRatio(pRatio->cx, pRatio->cy);

		CSize PrintOffset;
		VERIFY(m_pPreviewDC->Escape(GETPRINTINGOFFSET, 0, NULL, (LPVOID)&PrintOffset));
		m_pPreviewDC->PrinterDPtoScreenDP((LPPOINT)&PrintOffset);
		PrintOffset += (CSize)pRect->TopLeft();
		PrintOffset += CSize(1, 1);
		PrintOffset += (CSize)ViewportOrg;  // For Scrolling

		m_pPreviewDC->SetTopLeftOffset(PrintOffset);

		m_pPreviewDC->ClipToPage();
		m_pPrintView->OnPrint(m_pPreviewDC, m_pPreviewInfo);

		m_pPreviewDC->ReleaseOutputDC();

		m_dcPrint.RestoreDC(nSavedState);   // restore to untouched state

	}

	rectPen.DeleteObject();
	shadowPen.DeleteObject();
}