void CShop::LoadFromDict(const idDict& dict) { // greebo: Assemble the difficulty prefix (e.g. "diff_0_") idStr diffPrefix = "diff_" + idStr(gameLocal.m_DifficultyManager.GetDifficultyLevel()) + "_"; if (dict.GetBool("shop_skip","0") || dict.GetBool(diffPrefix + "shop_skip","0")) { // if skip flag is set, skip the shop _skipShop = true; // No need to parse any further, the shop will be skipped anyway return; } // Check for loot carry-over rules LoadLootRules(dict); // Check for an "all-difficulty" gold value if (dict.FindKey("shop_gold_start") != NULL) { SetGold(dict.GetInt("shop_gold_start")); } // Try to retrieve the starting gold for the given difficulty level if (dict.FindKey(diffPrefix + "shop_gold_start") != NULL) { SetGold(dict.GetInt(diffPrefix + "shop_gold_start")); } // items for sale AddItems(dict, "shopItem", _itemsForSale); // starting items (items that player already has AddItems(dict, "startingItem", _startingItems); }
void OvrOutOfSpaceMenu::BuildMenu( int memoryInKB ) { const VRMenuFontParms fontParms( true, true, false, false, true, 0.505f, 0.43f, 1.0f ); Array< VRMenuObjectParms const * > parms; int menuId = 9000; // --- // Icon { VRMenuSurfaceParms iconSurfParms( "", "res/raw/out_of_disk_space_warning.png", SURFACE_TEXTURE_DIFFUSE, "", SURFACE_TEXTURE_MAX, "", SURFACE_TEXTURE_MAX ); VRMenuObjectParms iconParms( VRMENU_STATIC, Array< VRMenuComponent* >(), iconSurfParms, "", Posef( Quatf(), Vector3f( 0.0f, CENTER_TO_ICON_Y_OFFSET, 0.0f ) ), Vector3f( 1.0f ), fontParms, VRMenuId_t( ++menuId ), VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_ALL ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &iconParms ); AddItems( AppPtr->GetVRMenuMgr(), AppPtr->GetDefaultFont(), parms, GetRootHandle(), true ); parms.Clear(); } // --- // Message { String outOfSpaceMsg; VrLocale::GetString( AppPtr->GetVrJni(), AppPtr->GetJavaObject(), "@string/out_of_memory", "To use this app, please free up at least %dKB of storage space on your phone.", outOfSpaceMsg ); char charBuff[10]; sprintf( charBuff, "%d", memoryInKB ); outOfSpaceMsg = VrLocale::GetXliffFormattedString( outOfSpaceMsg, charBuff ); BitmapFont & font = AppPtr->GetDefaultFont(); font.WordWrapText( outOfSpaceMsg, 1.4f ); VRMenuObjectParms titleParms( VRMENU_STATIC, Array< VRMenuComponent* >(), VRMenuSurfaceParms(), (const char*)outOfSpaceMsg, Posef( Quatf(), Vector3f( 0.0f, CENTER_TO_TEXT_Y_OFFSET, 0.0f ) ), Vector3f( 1.0f ), fontParms, VRMenuId_t( ++menuId ), VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &titleParms ); AddItems( AppPtr->GetVRMenuMgr(), AppPtr->GetDefaultFont(), parms, GetRootHandle(), true ); parms.Clear(); } this->SetMenuPose( Posef( Quatf(), Vector3f( 0.0f, 0.0f, -3.0f ) ) ); }
void CSVGMasksDlg::BuildItems() { m_listView.RemoveItems(); m_listView.AddItem(NULL, L"[none]"); AddItems(); }
//--------------------------------------------------------------------------- void __fastcall TfKnapsack::btAddItemsClick(TObject *Sender) { //如果已存在陣列 wrItems 將之清除 if (wrItems) { delete[] wrItems; wrItems = NULL; } //讀取使用者輸入 iItemNum = StrToInt(edItemNum->Text); iWeightRange = StrToInt(edWeightRange->Text); iProfitRange = StrToInt(edProfitRange->Text); //亂數產生 Items 的重量以及價值 //並加入 itmRoot AddItems(); //產生新的 wrItems 陣列 iTotalNum += iItemNum; //用來計算現在總共有多少資料 wrItems = new Wrap [iTotalNum]; //用中序走訪樹並將結果存到 wrItems InorderTraversal(itmRoot, wrItems, 0); //顯示所有資料,由 CP 值高到低顯示 if (cbPrintItems->Checked) PrintItems(); memSolution->Lines->Add(edItemNum->Text + " 筆亂數資料新增完成"); }
void CSVGSymbolsDlg::BuildItems() { m_listView.RemoveItems(); // m_listView.AddItem(NULL, L"[none]"); AddItems(); }
wxFlexGridSizer* wxExItem::Layout( wxWindow* parent, wxSizer* sizer, bool readonly, wxFlexGridSizer* fgz) { wxASSERT(sizer != nullptr); if (!CreateWindow(parent, readonly)) { return nullptr; } wxFlexGridSizer* return_sizer; switch (m_Type) { case ITEM_COMBOBOX_DIR: return_sizer = AddBrowseButton(sizer); break; case ITEM_EMPTY: return fgz; case ITEM_SPACER: sizer->AddSpacer(m_Style); return fgz; default: if (m_Type >= ITEM_NOTEBOOK && m_Type <= ITEM_NOTEBOOK_TREE) { if (m_Initial.IsNull() || !m_Initial.CheckType<ItemsNotebook>()) { wxLogError("Illegal notebook"); return nullptr; } wxBookCtrlBase* bookctrl = (wxBookCtrlBase*)m_Window; bookctrl->SetName("book-" + m_Label); return_sizer = Add(sizer, fgz); // Add all pages and recursive layout the subitems. for (auto& page : m_Initial.As<ItemsNotebook>()) { AddItems(page, readonly); } if (!wxPersistenceManager::Get().RegisterAndRestore(bookctrl)) { if (bookctrl->GetPageCount() > 0) { // nothing was restored, so choose the default page ourselves bookctrl->SetSelection(0); } } } else { return_sizer = Add(sizer, fgz); } } ToConfig(false); return return_sizer; }
void CSVGSwatchesDlg::BuildItems() { m_listView.RemoveItems(); m_listView.AddItem(NULL, L"[none]"); m_listView.AddItem(NULL, L"[inherit]"); AddItems(); }
void ReviewCommentsModel::handleNewCommentAdded(const QString& resourceId, const Comment& comment) { if (resourceId != m_ReviewId) { return; } if (!m_HasMore) { AddItems(comment); } }
void VCardListEditDialog::on_Add__released () { const auto& str = QInputDialog::getText (this, "LeechCraft", tr ("Enter the new item:")); if (str.isEmpty ()) return; AddItems ({ { str, {} } }); }
ImportedBookmarksPreviewDialog::ImportedBookmarksPreviewDialog(DatabaseManager* dbm, BookmarkImporter* bmim, ImportedEntityList* elist, QWidget *parent) : QDialog(parent), ui(new Ui::ImportedBookmarksPreviewDialog), dbm(dbm) , canShowTheDialog(false), elist(elist) { ui->setupUi(this); setWindowTitle(QString(windowTitle() + " (%1 bookmarks)").arg(elist->iblist.size())); //With only stretches applied to the layout, the left widget changed size on each bookmark select // with different types (e.g exactly similar, already similar etc). We need to fix the size. int sizeForDPI = 300 * (qApp->screens()[0]->logicalDotsPerInch() / 96.0); ui->widLeftPane->setFixedWidth(sizeForDPI); ui->leTagsForAll->setModel(&dbm->tags.model); ui->leTagsForAll->setModelColumn(dbm->tags.tidx.TagName); ui->leTagsForBookmark->setModel(&dbm->tags.model); ui->leTagsForBookmark->setModelColumn(dbm->tags.tidx.TagName); ui->leTagsForFolder->setModel(&dbm->tags.model); ui->leTagsForFolder->setModelColumn(dbm->tags.tidx.TagName); ui->grpBookmarkProps->setVisible (false); ui->grpDuplBookmarkProps->setVisible (false); ui->grpDuplBookmarkSameProps->setVisible(false); ui->grpBookmarkFolderProps->setVisible (false); connect(ui->chkImportBookmark, SIGNAL(toggled(bool)), ui->leTagsForBookmark, SLOT(setEnabled(bool))); connect(ui->chkImportFolder , SIGNAL(toggled(bool)), ui->leTagsForFolder , SLOT(setEnabled(bool))); m_bookmarksProcessor = new ImportedBookmarksProcessor(dbm->conf->concurrentBookmarkProcessings, bmim, this, this); connect(m_bookmarksProcessor, SIGNAL(ProcessingDone()), this, SLOT(ProcessingDone())); connect(m_bookmarksProcessor, SIGNAL(ProcessingCanceled()), this, SLOT(ProcessingCanceled())); connect(m_bookmarksProcessor, SIGNAL(ImportedBookmarkProcessed(ImportedBookmark*,bool)), this, SLOT(ImportedBookmarkProcessed(ImportedBookmark*,bool))); icon_folder = QIcon(":/res/import_folder.png"); icon_folderdontimport = QIcon(":/res/import_folderdontimport.png"); icon_dontimport = QIcon(":/res/import_dontimport.png"); icon_okay = QIcon(":/res/import_ok.png"); icon_similar = QIcon(":/res/import_duplicate_similar.png"); icon_exact = QIcon(":/res/import_duplicate_exact.png"); icon_overwrite = QIcon(":/res/import_overwrite.png"); icon_append = QIcon(":/res/import_append.png"); icon_waiting = QIcon(":/res/import_waiting.png"); icon_fail = QIcon(":/res/import_fail.png"); //Initialize the data we will need during the conversion. for (int i = 0; i < elist->ibflist.size(); i++) folderItemsIndexInArray[elist->ibflist[i].intId] = i; AddItems(); canShowTheDialog = true; }
/// Add item and its children to the tree void ctConfigToolView::AddItems(ctConfigTreeCtrl* treeControl, ctConfigItem* item) { SyncItem(treeControl, item); int count = item->GetChildCount(); int i; for (i = 0; i < count; i++) { ctConfigItem* child = item->GetChild(i); AddItems(treeControl, child); } }
void BundleManager::UpdateBundleList() { Freeze(); m_bundleList->DeleteAllItems(); // Insert bundles in ListCtrl for (vector<RepoInfo>::const_iterator p = m_repositories.begin(); p != m_repositories.end(); ++p) { AddItems(p->name, p->bundleList); } m_bundleList->SortItems(CompareNameFunction, 0); Thaw(); }
plConfigAggregateValue::plConfigAggregateValue( const char * name, plConfigValueBase * item1, plConfigValueBase * item2, plConfigValueBase * item3, plConfigValueBase * item4, plConfigValueBase * item5, plConfigValueBase * item6, plConfigValueBase * item7) { SetConfigName(name); AddItems(item1,item2,item3,item4,item5,item6,item7); }
// SAMHeaderTag SAMHeaderTag::SAMHeaderTag(const std::string & fromString) { size_t pos = fromString.find(":"); if (pos != string::npos) { _tagName = fromString.substr(0, pos); string tagValue = fromString.substr(pos + 1); if (tagValue.find("=") != std::string::npos) { AddItems(tagValue); } else { _tagValue = tagValue; } } else { cout << "Unable to parse SAM/BAM header" << fromString << endl; exit(1); } }
void FoundGroupsModel::handleGotFoundGroups(const CountedItems<GroupPtr>& groups) { if (!groups.m_BeginIndex && !groups.m_EndIndex) { Clear(); } else if (groups.m_BeginIndex == 1) { m_CurrentPage = 1; SetItems(groups.m_Items); } else { AddItems(groups.m_Items); } SetHasMore(groups.m_EndIndex != groups.m_Count); if (m_HasMore) { ++m_CurrentPage; } }
void ReviewsModel::handleGotReviews(quint64 booksShelfId, const CountedItems<ReviewPtr>& reviews) { if (m_BookShelfId != booksShelfId) { return; } if (!reviews.m_BeginIndex && !reviews.m_EndIndex) { Clear(); } else if (reviews.m_BeginIndex == 1) { m_CurrentPage = 1; SetItems(reviews.m_Items); } else { AddItems(reviews.m_Items); } SetHasMore(reviews.m_EndIndex != reviews.m_Count); if (m_HasMore) { ++m_CurrentPage; } }
void PasteData(const QMimeData& data) { if (data.hasUrls()) { const QList<QUrl>& urls = data.urls(); QStringList files; std::for_each(urls.begin(), urls.end(), boost::bind(&QStringList::push_back, &files, boost::bind(&QUrl::toLocalFile, _1))); AddItems(files); } else if (data.hasFormat(ITEMS_MIMETYPE)) { const QByteArray& encodedData = data.data(ITEMS_MIMETYPE); QStringList items; { QDataStream stream(encodedData); stream >> items; } //pasting is done immediately, so update UI right here const Playlist::Scanner::Ptr scanner = Controller->GetScanner(); scanner->PasteItems(items); } else if (data.hasText())
void COrderListBox::AddItems(CProductItems* pItems, int nIndent) { int nCount = pItems->ItemCount(); for (int nIndex = 0; nIndex < nCount; nIndex++) { CProductItem* pItem = pItems->Item(nIndex); if (pItem != NULL) { COrderListBoxItem* pListBoxItem = new COrderListBoxItem(pItem, nIndent); if (pListBoxItem != NULL) { pListBoxItem->Mark(pItem->TestFlag(PRODUCT_ITEM_Marked)); pListBoxItem->Select(pItem->TestFlag(PRODUCT_ITEM_Selected)); AddString((LPCSTR)pListBoxItem); AddItems(pItem->Items(), nIndent+1); } } } }
long CMailOrderProducts::AddProducts(CProductItems* pItems) { long lPrice = 0; AddItems(pItems, 0, lPrice); return lPrice; }
ImageView::ImageView(const ThumbList &itemList, int *pos, int slideShow, int sortorder) : m_screenSize(640,480), m_wmult(1.0f), m_hmult(1.0f), m_pos(*pos), m_savedPos(pos), m_movieState(0), m_zoom(1.0f), // Info variables m_info_show(false), m_info_show_short(false), // Common slideshow variables m_slideshow_running(false), m_slideshow_sequencing(slideShow), m_slideshow_frame_delay(2), m_slideshow_frame_delay_state(m_slideshow_frame_delay * 1000), m_slideshow_timer(NULL), // Common effect state variables m_effect_running(false), m_effect_current_frame(0), m_effect_method(QString::null), m_effect_random(false), m_loaderRunnable(NULL), m_listener(this), m_loaderThread(NULL), m_slideshow_sequence(ComposeSlideshowSequence(slideShow)), m_finishedLoading(false) { int xbase, ybase, screenwidth, screenheight; GetMythUI()->GetScreenSettings(xbase, screenwidth, m_wmult, ybase, screenheight, m_hmult); m_screenSize = QSize(screenwidth, screenheight); // -------------------------------------------------------------------- bool recurse = gCoreContext->GetNumSetting("GalleryRecursiveSlideshow", 0); ThumbItem *origItem = NULL; if (m_pos < itemList.size()) origItem = itemList.at(m_pos); ThumbList fileList, dirList; LoadAlbumRunnable::filterDirectories(itemList, fileList, dirList); AddItems(fileList); if (recurse) { // Load pictures from all directories on a different thread. m_loaderRunnable = new LoadAlbumRunnable(this, dirList, sortorder, m_slideshow_sequencing); m_loaderThread = new MThread("LoadAlbum", m_loaderRunnable); QObject::connect(m_loaderThread->qthread(), SIGNAL(finished()), &m_listener, SLOT(FinishLoading())); m_loaderThread->start(); // Wait for at least one image to be loaded. { QMutexLocker guard(&m_itemListLock); while (m_itemList.empty() && !m_finishedLoading) { m_imagesLoaded.wait(&m_itemListLock); } } } // -------------------------------------------------------------------- // since we remove dirs item position might have changed if (origItem) m_pos = m_itemList.indexOf(origItem); m_pos = (!origItem || (m_pos == -1)) ? 0 : m_pos; m_slideshow_sequence->set(m_pos); // -------------------------------------------------------------------- m_slideshow_frame_delay = gCoreContext->GetNumSetting("SlideshowDelay", 0); m_slideshow_frame_delay = (!m_slideshow_frame_delay) ? 2 : m_slideshow_frame_delay; m_slideshow_frame_delay_state = m_slideshow_frame_delay * 1000; // -------------------------------------------------------------------- if (slideShow == 2) { m_slideshow_mode = QT_TR_NOOP("Random Slideshow"); } else if (slideShow == 3) { m_slideshow_mode = QT_TR_NOOP("Seasonal Slideshow"); } else { m_slideshow_mode = QT_TR_NOOP("Slideshow"); } }
//--------------------------------------------------------------------------- void __fastcall TForm3::Button1Click(TObject *Sender) { AddItems(30); }
void COrderListBox::AddProducts(CProductItems* pItems) { AddItems(pItems, 0); AdjustSelections(); }
//--------------------------------------------------------------------------- void __fastcall TForm3::PullRefresh(TObject *Sender) { AddItems(30); }
OvrVideoMenu::OvrVideoMenu( OvrGuiSys & guiSys, OvrMetaData & metaData, float radius ) : VRMenu( MENU_NAME ) , MetaData( metaData ) , LoadingIconHandle( 0 ) , AttributionHandle( 0 ) , BrowserButtonHandle( 0 ) , VideoControlButtonHandle( 0 ) , Radius( radius ) , ButtonCoolDown( 0.0f ) , OpenTime( 0.0 ) { // Init with empty root Init( guiSys, 0.0f, VRMenuFlags_t() ); // Create Attribution info view Array< VRMenuObjectParms const * > parms; Array< VRMenuComponent* > comps; VRMenuId_t attributionPanelId( ID_CENTER_ROOT.Get() + 10 ); comps.PushBack( new OvrVideoMenuRootComponent( *this ) ); Quatf rot( DOWN, 0.0f ); Vector3f dir( -FWD ); Posef panelPose( rot, dir * Radius ); Vector3f panelScale( 1.0f ); const VRMenuFontParms fontParms( true, true, false, false, true, 0.525f, 0.45f, 1.0f ); VRMenuObjectParms attrParms( VRMENU_STATIC, comps, VRMenuSurfaceParms(), "Attribution Panel", panelPose, panelScale, Posef(), Vector3f( 1.0f ), fontParms, attributionPanelId, VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &attrParms ); AddItems( guiSys, parms, GetRootHandle(), false ); parms.Clear(); comps.Clear(); AttributionHandle = HandleForId( guiSys.GetVRMenuMgr(), attributionPanelId ); VRMenuObject * attributionObject = guiSys.GetVRMenuMgr().ToObject( AttributionHandle ); OVR_ASSERT( attributionObject != NULL ); //Browser button float const ICON_HEIGHT = 80.0f * VRMenuObject::DEFAULT_TEXEL_SCALE; Array< VRMenuSurfaceParms > surfParms; Posef browserButtonPose( Quatf(), UP * ICON_HEIGHT * 2.0f ); comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) ); comps.PushBack( new OvrButton_OnUp( this, ID_BROWSER_BUTTON ) ); comps.PushBack( new OvrSurfaceToggleComponent( ) ); surfParms.PushBack( VRMenuSurfaceParms( "browser", "apk:///assets/nav_home_off.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "browser", "apk:///assets/nav_home_on.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); VRMenuObjectParms browserButtonParms( VRMENU_BUTTON, comps, surfParms, "", browserButtonPose, Vector3f( 1.0f ), Posef(), Vector3f( 1.0f ), fontParms, ID_BROWSER_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &browserButtonParms ); AddItems( guiSys, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); surfParms.Clear(); BrowserButtonHandle = attributionObject->ChildHandleForId( guiSys.GetVRMenuMgr(), ID_BROWSER_BUTTON ); VRMenuObject * browserButtonObject = guiSys.GetVRMenuMgr().ToObject( BrowserButtonHandle ); OVR_ASSERT( browserButtonObject != NULL ); OVR_UNUSED( browserButtonObject ); //Video control button Posef videoButtonPose( Quatf(), DOWN * ICON_HEIGHT * 2.0f ); comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) ); comps.PushBack( new OvrButton_OnUp( this, ID_VIDEO_BUTTON ) ); comps.PushBack( new OvrSurfaceToggleComponent( ) ); surfParms.PushBack( VRMenuSurfaceParms( "browser", "apk:///assets/nav_restart_off.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "browser", "apk:///assets/nav_restart_on.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); VRMenuObjectParms controlButtonParms( VRMENU_BUTTON, comps, surfParms, "", videoButtonPose, Vector3f( 1.0f ), Posef(), Vector3f( 1.0f ), fontParms, ID_VIDEO_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &controlButtonParms ); AddItems( guiSys, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); VideoControlButtonHandle = attributionObject->ChildHandleForId( guiSys.GetVRMenuMgr(), ID_VIDEO_BUTTON ); VRMenuObject * controlButtonObject = guiSys.GetVRMenuMgr().ToObject( VideoControlButtonHandle ); OVR_ASSERT( controlButtonObject != NULL ); OVR_UNUSED( controlButtonObject ); }
OvrPanoMenu::OvrPanoMenu( App * app, Oculus360Photos * photos, OvrVRMenuMgr & menuMgr, BitmapFont const & font, OvrMetaData & metaData, float fadeOutTime, float radius ) : VRMenu( MENU_NAME ) , AppPtr( app ) , MenuMgr( menuMgr ) , Font( font ) , Photos( photos ) , MetaData( metaData ) , LoadingIconHandle( 0 ) , AttributionHandle( 0 ) , BrowserButtonHandle( 0 ) , SwipeLeftIndicatorHandle( 0 ) , SwipeRightIndicatorHandle( 0 ) , Fader( 1.0f ) , FadeOutTime( fadeOutTime ) , currentFadeRate( 0.0f ) , Radius( radius ) , ButtonCoolDown( 0.0f ) { currentFadeRate = 1.0f / FadeOutTime; // Init with empty root Init( menuMgr, font, 0.0f, VRMenuFlags_t() ); // Create Attribution info view Array< VRMenuObjectParms const * > parms; Array< VRMenuComponent* > comps; VRMenuId_t attributionPanelId( ID_CENTER_ROOT.Get() + 10 ); comps.PushBack( new OvrPanoMenuRootComponent( *this ) ); Quatf rot( DOWN, 0.0f ); Vector3f dir( -FWD ); Posef panelPose( rot, dir * Radius ); Vector3f panelScale( 1.0f ); //const Posef textPose( Quatf(), Vector3f( 0.0f, 0.0f, 0.0f ) ); const VRMenuFontParms fontParms( true, true, false, false, true, 0.525f, 0.45f, 1.0f ); VRMenuObjectParms attrParms( VRMENU_STATIC, comps, VRMenuSurfaceParms(), "Attribution Panel", panelPose, panelScale, Posef(), Vector3f( 1.0f ), fontParms, attributionPanelId, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &attrParms ); AddItems( MenuMgr, Font, parms, GetRootHandle(), false ); parms.Clear(); comps.Clear(); AttributionHandle = HandleForId( MenuMgr, attributionPanelId ); VRMenuObject * attributionObject = MenuMgr.ToObject( AttributionHandle ); OVR_ASSERT( attributionObject != NULL ); //Browser button float const ICON_HEIGHT = 80.0f * VRMenuObject::DEFAULT_TEXEL_SCALE; Array< VRMenuSurfaceParms > surfParms; Posef browserButtonPose( Quatf( ), UP * ICON_HEIGHT * 2.0f ); comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) ); comps.PushBack( new OvrButton_OnUp( this, ID_BROWSER_BUTTON ) ); comps.PushBack( new OvrSurfaceToggleComponent( ) ); surfParms.PushBack( VRMenuSurfaceParms ( "browser", "assets/nav_home_off.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "browser", "assets/nav_home_on.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); VRMenuObjectParms browserButtonParms( VRMENU_BUTTON, comps, surfParms, "", browserButtonPose, Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, ID_BROWSER_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &browserButtonParms ); AddItems( MenuMgr, Font, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); surfParms.Clear(); BrowserButtonHandle = attributionObject->ChildHandleForId( MenuMgr, ID_BROWSER_BUTTON ); VRMenuObject * browserButtonObject = MenuMgr.ToObject( BrowserButtonHandle ); OVR_ASSERT( browserButtonObject != NULL ); OVR_UNUSED( browserButtonObject ); //Favorites button Posef favoritesButtonPose( Quatf( ), DOWN * ICON_HEIGHT * 2.0f ); comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) ); comps.PushBack( new OvrButton_OnUp( this, ID_FAVORITES_BUTTON ) ); comps.PushBack( new OvrSurfaceToggleComponent() ); surfParms.PushBack( VRMenuSurfaceParms( "favorites_off", "assets/nav_star_off.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "favorites_on", "assets/nav_star_on.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "favorites_active_off", "assets/nav_star_active_off.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); surfParms.PushBack( VRMenuSurfaceParms( "favorites_active_on", "assets/nav_star_active_on.png", SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) ); VRMenuObjectParms favoritesButtonParms( VRMENU_BUTTON, comps, surfParms, "", favoritesButtonPose, Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, ID_FAVORITES_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &favoritesButtonParms ); AddItems( MenuMgr, Font, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); FavoritesButtonHandle = attributionObject->ChildHandleForId( MenuMgr, ID_FAVORITES_BUTTON ); VRMenuObject * favoritesButtonObject = MenuMgr.ToObject( FavoritesButtonHandle ); OVR_ASSERT( favoritesButtonObject != NULL ); OVR_UNUSED( favoritesButtonObject ); // Swipe icons const int numFrames = 10; const int numTrails = 3; const int numChildren = 5; const float swipeFPS = 3.0f; const float factor = 1.0f / 8.0f; // Right container VRMenuId_t swipeRightId( ID_CENTER_ROOT.Get() + 401 ); Quatf rotRight( DOWN, ( Mathf::TwoPi * factor ) ); Vector3f rightDir( -FWD * rotRight ); comps.PushBack( new OvrTrailsAnimComponent( swipeFPS, true, numFrames, numTrails, numTrails ) ); VRMenuObjectParms swipeRightRoot( VRMENU_CONTAINER, comps, VRMenuSurfaceParms( ), "", Posef( rotRight, rightDir * Radius ), Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, swipeRightId, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_ALL ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &swipeRightRoot ); AddItems( MenuMgr, Font, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); SwipeRightIndicatorHandle = attributionObject->ChildHandleForId( MenuMgr, swipeRightId ); VRMenuObject * swipeRightRootObject = MenuMgr.ToObject( SwipeRightIndicatorHandle ); OVR_ASSERT( swipeRightRootObject != NULL ); // Left container VRMenuId_t swipeLeftId( ID_CENTER_ROOT.Get( ) + 402 ); Quatf rotLeft( DOWN, ( Mathf::TwoPi * -factor ) ); Vector3f leftDir( -FWD * rotLeft ); comps.PushBack( new OvrTrailsAnimComponent( swipeFPS, true, numFrames, numTrails, numTrails ) ); VRMenuObjectParms swipeLeftRoot( VRMENU_CONTAINER, comps, VRMenuSurfaceParms( ), "", Posef( rotLeft, leftDir * Radius ), Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, swipeLeftId, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_ALL ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &swipeLeftRoot ); AddItems( MenuMgr, Font, parms, AttributionHandle, false ); parms.Clear(); comps.Clear(); SwipeLeftIndicatorHandle = attributionObject->ChildHandleForId( MenuMgr, swipeLeftId ); VRMenuObject * swipeLeftRootObject = MenuMgr.ToObject( SwipeLeftIndicatorHandle ); OVR_ASSERT( swipeLeftRootObject != NULL ); // Arrow frame children const char * swipeRightIcon = "assets/nav_arrow_right.png"; const char * swipeLeftIcon = "assets/nav_arrow_left.png"; VRMenuSurfaceParms rightIndicatorSurfaceParms( "swipeRightSurface", swipeRightIcon, SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ); VRMenuSurfaceParms leftIndicatorSurfaceParms( "swipeLeftSurface", swipeLeftIcon, SURFACE_TEXTURE_DIFFUSE, NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ); const float surfaceWidth = 25 * VRMenuObject::DEFAULT_TEXEL_SCALE; for ( int i = 0; i < numChildren; ++i ) { //right frame const Vector3f rightPos = ( RIGHT * surfaceWidth * i ) - ( FWD * i * 0.1f ); VRMenuObjectParms swipeRightFrame( VRMENU_STATIC, Array< VRMenuComponent* >(), rightIndicatorSurfaceParms, "", Posef( Quatf( ), rightPos ), Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, VRMenuId_t( ), VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &swipeRightFrame ); AddItems( MenuMgr, Font, parms, SwipeRightIndicatorHandle, false ); parms.Clear(); // left frame const Vector3f leftPos = ( (-RIGHT) * surfaceWidth * i ) - ( FWD * i * 0.1f ); VRMenuObjectParms swipeLeftFrame( VRMENU_STATIC, Array< VRMenuComponent* >(), leftIndicatorSurfaceParms, "", Posef( Quatf( ), leftPos ), Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms, VRMenuId_t( ), VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) ); parms.PushBack( &swipeLeftFrame ); AddItems( MenuMgr, Font, parms, SwipeLeftIndicatorHandle, false ); parms.Clear(); } if ( OvrTrailsAnimComponent* animRightComp = swipeRightRootObject->GetComponentByName< OvrTrailsAnimComponent >( ) ) { animRightComp->Play( ); } if ( OvrTrailsAnimComponent* animLeftComp = swipeLeftRootObject->GetComponentByName< OvrTrailsAnimComponent >( ) ) { animLeftComp->Play( ); } }
void CMailOrderProducts::AddItems(CProductItems* pItems, int nIndent, long& lPrice) { int nItems = pItems->ItemCount(); for (int nItem = 0; nItem < nItems; nItem++) { CProductItem* pItem = pItems->Item(nItem); if (pItem != NULL) { if (!pItem->IsLicensed()) { if ((pItem->TestFlag(PRODUCT_ITEM_Marked)) || (pItem->Items()->CountProductFlags(PRODUCT_ITEM_Marked, CProductItems::NotLicensed) > 0)) { CString csName; CString csPrice; csName = ""; for (int i = 0; i < nIndent; i++) { csName += " "; } if (pItem->TestFlag(PRODUCT_ITEM_Marked)) { csName += pItem->Name(); PriceString(csPrice, pItem->Price()); lPrice += pItem->Price(); } else { csName += pItem->CollectionName(); csPrice = ""; } if (!csName.IsEmpty()) { CMailOrderProduct* pMailOrderProduct = new CMailOrderProduct(csName, csPrice); if (pMailOrderProduct != NULL) { Add(pMailOrderProduct); if (!pItem->TestFlag(PRODUCT_ITEM_Marked)) { AddItems(pItem->Items(), nIndent+1, lPrice); } } } else { if (!pItem->TestFlag(PRODUCT_ITEM_Marked)) { AddItems(pItem->Items(), nIndent, lPrice); } } } } } } }
bool CSideBar::AddItem(const SideBarItem *pItem) { return AddItems(pItem,1); }
void ctConfigToolView::OnUpdate(wxView *WXUNUSED(sender), wxObject *hintObj) { ctConfigToolDoc* doc = wxDynamicCast(GetDocument(), ctConfigToolDoc); ctConfigTreeCtrl* treeCtrl = wxGetApp().GetMainFrame()->GetConfigTreeCtrl(); if (!treeCtrl) return; wxASSERT (doc != NULL); ctConfigItem* selItem = NULL; wxTreeItemId sel = treeCtrl->GetSelection(); if (sel.IsOk()) { ctTreeItemData* data = (ctTreeItemData*) treeCtrl->GetItemData(sel); if (data) selItem = data->GetConfigItem() ; } ctConfigToolHint* hint = (ctConfigToolHint*) hintObj; int hintOp = ctNoHint; if (hint) hintOp = hint->m_op; switch (hintOp) { case ctInitialUpdate: { if (doc && doc->GetTopItem()) { wxGetApp().GetMainFrame()->GetConfigTreeCtrl()->DeleteAllItems(); AddItems(wxGetApp().GetMainFrame()->GetConfigTreeCtrl(), doc->GetTopItem()); wxGetApp().GetMainFrame()->GetConfigTreeCtrl()->Expand(doc->GetTopItem()->GetTreeItemId()); } } break; case ctSelChanged: { if (selItem) { wxGetApp().GetMainFrame()->GetPropertyEditor()->ShowItem(selItem); } } break; case ctAllSaved: { // TODO: update windows and frame title } break; case ctFilenameChanged: { wxGetApp().GetMainFrame()->UpdateFrameTitle(); } break; case ctClear: { // TODO: update windows treeCtrl->DeleteAllItems(); wxGetApp().GetMainFrame()->GetPropertyEditor()->ShowItem(NULL); break; } case ctValueChanged: { // ctConfigItem& ti = *(ctConfigItem *)hint->m_item; wxGetApp().GetMainFrame()->GetPropertyEditor()->ShowItem(selItem); } break; default: break; } }