cMenuEpgTimers::cMenuEpgTimers(void) :cOsdMenu(tr("Timers"), 2, CHNUMWIDTH, 10, 6, 6), SwitchTimersLock(&SwitchTimers) { if (strcmp(Skins.Current()->Name(), "Reel") == 0) #if APIVERSNUM < 10700 SetCols(3, 10, 6, 10, 6); #else #if REELVDR && APIVERSNUM >= 10718 SetCols(3, 12, 7, 6); #else SetCols(3, 12, 7, 12, 7); #endif /* REELVDR && APIVERSNUM >= 10718 */ #endif #if REELVDR && APIVERSNUM >= 10718 EnableSideNote(true); #endif helpKeys = -1; Set(); SetCurrent(First()); SetHelpKeys(); /* get timer state */ TimerState_=0; Timers.Modified(TimerState_); #ifdef USEMYSQL LastEventID_ = -1; LastEventID_ = Timers.GetLastEventID(); #endif }
eOSState cCMDDir::New(void) { MYDEBUG("Verzeichnis: Neu"); cFileInfo *info = new cFileInfo(CurrentDir()); if(!info->isWriteable()) { MYDEBUG("Verzeichnis: Neu: Keine Berechtigung in %s", CurrentDir()); OSD_ERRMSG(tr("no rights to create")); } else { State = csDirNew; SetCols(5); SetTitle(CurrentDir()); SetDir(); cMainMenuItem *mItem = (cMainMenuItem*)First(); Ins(new cMenuEditStrItem(tr("New"), Dir, MaxFileName, trVDR(FileNameChars)), true, mItem); while(mItem) { mItem->SetSelectable(false); mItem = (cMainMenuItem*)Next(mItem); } Display(); cOsdMenu::ProcessKey(kRight); } return osContinue; }
cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4) { isMenu = true; digit = 0; #ifdef USE_LIEMIEXT key_nr = -1; #endif /* LIEMIEXT */ hasHotkeys = false; displayMenuItems = 0; title = NULL; menuCategory = mcUnknown; SetTitle(Title); SetCols(c0, c1, c2, c3, c4); first = 0; current = marked = -1; subMenu = NULL; helpRed = helpGreen = helpYellow = helpBlue = NULL; #ifdef REELVDR helpKeys = NULL; #endif /*REELVDR*/ helpDisplayed = false; status = NULL; if (!displayMenuCount++) SetDisplayMenu(); #ifdef REELVDR enableSideNote = false; #endif }
void MainFrame::OnGridPanelSize(wxSizeEvent &event) { auto grid = dynamic_cast<wxGridSizer *>(splitter->GetWindow2()->GetSizer()); auto size = event.GetSize(); int col = (size.GetWidth() / 250); grid->SetCols(col > 0 ? col : 1); grid->FitInside(splitter->GetWindow2()); splitter->Refresh(); splitter->Update(); }
/* * Initializes the object, assuming that filename, origin, size, etc are already set on the * member variables. Makes sure the raster can be opened, sets the block size, NODATA value, * pixel size, and the extent of the raster. If not using the full image then makes sure that * the subset chosen (based on origin and size) is valid. If using the full image then sets the * size and origin is assumed to be 0,0 and is set in the constructor. * @param fullImage True if using the full image, False if using a subset. */ void Raster::Init(bool bFullImage) { Init(); GDALDataset * ds = (GDALDataset*) GDALOpen(m_sFilePath, GA_ReadOnly); if (ds == NULL) throw RasterManagerException(INPUT_FILE_NOT_VALID, CPLGetLastErrorMsg()); GDALRasterBand * band = ds->GetRasterBand(1); double dRMin, dRMax, dRMean, dRStdDev; // Get some easy stats that GDAL gives us band->GetStatistics( 0 , true, &dRMin, &dRMax, &dRMean, &dRStdDev ); m_dRasterMax = dRMax; m_dRasterMin = dRMin; m_dRasterMean = dRMean; m_dRasterStdDev = dRStdDev; OGRLinearRing ring = OGRLinearRing(); if (bFullImage) { SetCols( band->GetXSize() ); SetRows( band->GetYSize() ); ring.addPoint(GetLeft(), GetTop()); ring.addPoint(GetLeft(), GetTop() + (GetCellHeight() * GetRows())); ring.addPoint(GetLeft() + (GetCellWidth() * GetCols()), GetTop() + (GetCellHeight() * GetRows())); ring.addPoint(GetLeft() + (GetCellWidth() * GetCols()), GetTop()); ring.closeRings(); } else { if ((GetLeft() + GetCols() > band->GetXSize()) || (GetTop() + GetRows() > band->GetYSize())) { QString sErr = QString("Invalid origin ( %1, %2 ) and size ( %5, %6 ) for file: %7") .arg(GetLeft()) .arg(GetTop()) .arg(GetCols()) .arg(GetRows()) .arg(FilePath()); throw RasterManagerException(INPUT_FILE_NOT_VALID, sErr); } double xMapOrigin = GetLeft() + (GetLeft() * GetCellWidth()); double yMapOrigin = GetTop() + (GetTop() * GetCellHeight()); ring.addPoint(xMapOrigin, yMapOrigin); ring.addPoint(xMapOrigin, yMapOrigin + (GetCellHeight() * GetRows())); ring.addPoint(xMapOrigin + (GetCellWidth() * GetCols()), yMapOrigin + (GetCellHeight() * GetRows())); ring.addPoint(xMapOrigin + (GetCellWidth() * GetCols()), yMapOrigin); ring.closeRings(); } GDALClose(ds); }
void cMenuCreateFavouritesFolder::Set() { Clear(); SetCols(15); // clear name folderName[0] = 0; AddFloatingText(tr("Enter new favourites folder name"), 50); Add(new cOsdItem("",osUnknown, false)); Add(new cMenuEditStrItem(tr("Folder name"), folderName, sizeof(folderName)-1)); Display(); }
cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4) { isMenu = true; digit = 0; hasHotkeys = false; title = NULL; SetTitle(Title); SetCols(c0, c1, c2, c3, c4); first = 0; current = marked = -1; subMenu = NULL; helpRed = helpGreen = helpYellow = helpBlue = NULL; status = NULL; if (!displayMenuCount++) SetDisplayMenu(); }
eOSState cCMDDir::Edit(cMainMenuItem *mItem) { MYDEBUG("Verzeichnis: Edit: %s", mItem->FileName()); cFileInfo *info = new cFileInfo(mItem->FileName()); if(!info->isWriteable()) { DELETENULL(info); info = new cFileInfo(CurrentDir()); if(!info->isWriteable()) { MYDEBUG("Verzeichnis: Edit: Keine Rechte"); OSD_ERRMSG(tr("no rights to rename")); DELETENULL(info); return osContinue; } } DELETENULL(info); info = new cFileInfo(mItem->FileName()); SetDir(info->FileName()); DELETENULL(info); State = csDirEdit; SetCols(11); SetTitle(CurrentDir()); cMainMenuItem *dmItem = NULL; mItem = (cMainMenuItem*)First(); while(mItem) { if(!strcasecmp(mItem->FileName(), LastSelDir())) { MYDEBUG("Verzeichnis: Edit: Item gefunden: %s", mItem->FileName()); Ins(new cMenuEditStrItem(tr("Rename"), Dir, MaxFileName, trVDR(FileNameChars)), true, mItem); dmItem = mItem; } mItem->SetSelectable(false); mItem = (cMainMenuItem*)Next(mItem); } if(dmItem) Del(dmItem->Index()); Display(); cOsdMenu::ProcessKey(kRight); return osContinue; }
/******************** myMenuSetup ********************/ myMenuSetup::myMenuSetup() { SetCols(45); hidemainmenuentry=mysetup.HideMainMenuEntry; patchnew=mysetup.PatchNew; replaceorgrecmenu=mysetup.ReplaceOrgRecMenu; for(int i=0; i<MAX_RECLIST_COLUMNS; i++) { reclistcolumn[i].Type = mysetup.RecListColumn[i].Type; STRN0CPY(reclistcolumn[i].Name, mysetup.RecListColumn[i].Name); reclistcolumn[i].Width = mysetup.RecListColumn[i].Width; reclistcolumn[i].Align = mysetup.RecListColumn[i].Align; STRN0CPY(reclistcolumn[i].Op1 , mysetup.RecListColumn[i].Op1); STRN0CPY(reclistcolumn[i].Op2 , mysetup.RecListColumn[i].Op2); } shownewrecs=mysetup.ShowNewRecs; recsperdir=mysetup.RecsPerDir; descendsorting=mysetup.DescendSorting; golastreplayed=mysetup.GoLastReplayed; returntoplugin=mysetup.ReturnToPlugin; limitbandwidth=mysetup.LimitBandwidth; usevdrsrecinfomenu=mysetup.UseVDRsRecInfoMenu; patchfont=mysetup.PatchFont; filesystemfreemb=mysetup.FileSystemFreeMB; usecutterqueue=mysetup.UseCutterQueue; sortingtypetexts[0]=tr("ascending"); sortingtypetexts[1]=tr("descending"); Add(new cMenuEditBoolItem(tr("Show nr. of new recordings of a directory"),&shownewrecs)); Add(new cMenuEditStraItem(tr("Maximum number of recordings per directory"), &recsperdir, 5, RecsPerDir_texts)); Add(SubMenuItem(tr("Items to show in recording list"), osUser1)); Add(new cMenuEditBoolItem(tr("Show alternative to new marker"),&patchnew)); Add(new cMenuEditBoolItem(tr("Show free disk space for each file system"),&filesystemfreemb)); Add(new cMenuEditStraItem(tr("Sorting"),&descendsorting,2,sortingtypetexts)); Add(new cMenuEditBoolItem(tr("Hide main menu entry"),&hidemainmenuentry)); #ifdef MAINMENUHOOKSVERSNUM Add(new cMenuEditBoolItem(tr("Replace original recordings menu"),&replaceorgrecmenu)); #endif Add(new cMenuEditBoolItem(tr("Jump to last replayed recording"),&golastreplayed)); Add(new cMenuEditBoolItem(tr("Call plugin after playback"),&returntoplugin)); Add(new cMenuEditBoolItem(tr("Limit bandwidth for move recordings"),&limitbandwidth)); Add(new cMenuEditBoolItem(tr("Use VDR's recording info menu"),&usevdrsrecinfomenu)); Add(new cMenuEditBoolItem(tr("Use cutter queue"),&usecutterqueue)); }
/* * Copy the object. (Note that this simply copies the member properties * of the class for assigning the object to a new variable. See the * Copy() method for actually copying the raster dataset object to a new * file on disk. */ void Raster::CopyObject(Raster &src) { Init(); m_sFilePath = (char *) malloc(strlen(src.FilePath()) * sizeof(char)+1); std::strcpy(m_sFilePath, src.FilePath()); SetTransform(src.GetTop(), src.GetLeft(), src.GetCellWidth(), src.GetCellHeight()); SetRows(src.GetRows()); SetCols(src.GetCols()); SetNoDataValue(src.GetNoDataValuePtr()); xBlockSize = src.xBlockSize; yBlockSize = src.yBlockSize; }
void cMenuMoveChannelInFavBouquet::Set() { Clear(); SetCols(18, 5); // same tab size as channellist menu cChannel *ch = favourites.First(); for (; ch; ch = favourites.Next(ch)) if (!ch->GroupSep() && favouritesFilters.IsAllowedChannel(ch)) { cOsdChannelItem *item = new cOsdChannelItem(ch, true, channel == ch); Add(item); if (channel == ch) SetCurrent(item); } Display(); }
void cMenuRenameFavFolder::Set() { Clear(); SetCols(20); AddFloatingText(tr("Rename favourites folder"), 50); // Add(new cOsdItem("", osUnknown, false)); //empty line Add(new cMenuEditStrItem(tr("New folder name"), folderName, sizeof(folderName))); for (int i=0; i<3; ++i) Add(new cOsdItem("",osUnknown, false)); //blank lines Add(new cOsdItem(tr("Info:"),osUnknown, false)); AddFloatingText(tr("Press right key to enter folder name and Ok to rename."), 50); Display(); }
bool CMotion2DImage<Type>::Init(unsigned nb_rows, unsigned nb_cols) { // Test image size differ if ((nb_rows != nrows) || (nb_cols != ncols)) { if (bitmap != NULL) { delete [] bitmap; bitmap = NULL; } } if (nb_rows != nrows) { if (row != NULL) { delete [] row; row = NULL; } } SetCols(nb_cols) ; SetRows(nb_rows) ; npixels=ncols*nrows; if (bitmap == NULL) bitmap = new Type[npixels] ; if (bitmap == NULL) { cerr << "Error in CMotion2DImage::Init(): cannot allocate memory" << endl; return false ; } if (row == NULL) row = new Type*[nrows] ; if (row == NULL) { cerr << "Error in CMotion2DImage::Init(): cannot allocate memory" << endl; return false; } unsigned i ; for ( i =0 ; i < nrows ; i++) row[i] = bitmap + i*ncols ; return true; }
void cCMDDir::Build(char *dir) { MYDEBUG("Erstelle Verzeichnisliste %s", dir); if(!dir) dir = CurrentDir(); Clear(); if(State == csNone) { SetCols(0); SetTitle(tr("Edit Directories")); } cDirHandling *DirHand = new cDirHandling(this, this); SetCurrent(Get(DirHand->Build(dir, true))); delete(DirHand); Display(); SetHelp(); }
cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4) { isMenu = true; digit = 0; hasHotkeys = false; displayMenuItems = 0; title = NULL; menuCategory = mcUnknown; menuSortMode = msmUnknown; menuOrientation = moVertical; SetTitle(Title); SetCols(c0, c1, c2, c3, c4); first = 0; current = marked = -1; subMenu = NULL; helpRed = helpGreen = helpYellow = helpBlue = NULL; helpDisplayed = false; status = NULL; if (!displayMenuCount++) SetDisplayMenu(); }
wxSizerItem* wxGridBagSizer::Add( wxGBSizerItem *item ) { wxCHECK_MSG( !CheckForIntersection(item), NULL, wxT("An item is already at that position") ); m_children.Append(item); item->SetGBSizer(this); if ( item->GetWindow() ) item->GetWindow()->SetContainingSizer( this ); // extend the number of rows/columns of the underlying wxFlexGridSizer if // necessary int row, col; item->GetEndPos(row, col); row++; col++; if ( row > GetRows() ) SetRows(row); if ( col > GetCols() ) SetCols(col); return item; }
// ------------------ // cMenuSetupGeneral cMenuSetupGeneral::cMenuSetupGeneral(cEPGSearchConfig* Data) : cMenuSetupSubMenu(tr("General"), Data) { SetCols(28); Set(); }
void cBrowserMenu::SetColumns(int c0, int c1, int c2, int c3, int c4) { SetCols(c0, c1, c2, c3, c4); }
void cMenuFavourites::Set() { Clear(); SetCols(18, 5); // same tab size as channellist menu cChannel *currChannel = Channels.GetByNumber(cDevice::PrimaryDevice()->CurrentChannel()); tChannelID channelId; if (lastPosition < 0 && currChannel) channelId = currChannel->GetChannelID(); cChannel *channel = favourites.First(); cOsdItem *item = NULL; bool currentSet = false; for ( ; channel; channel = favourites.Next(channel)) { if (mode == eFavFolders) { // show only fav folder names if (channel->GroupSep()) { Add(item = new cOsdChannelItem(channel, true)); if (*lastSelectedFolder && strcmp(channel->Name(), *lastSelectedFolder)==0) { SetCurrent(item); currentSet = true; // don't override this current-item below } } } else if (favouritesFilters.IsAllowedChannel(channel)) { Add(item = new cOsdChannelItem(channel, true)); if (item && channel->GetChannelID() == channelId) { SetCurrent(item); currentSet = true; } } }// for // lets not have empty menus if (Count()==0) { // no osditems if (mode == eFavFolders) { AddFloatingText(tr("No favourite folders available"), 50); Add(new cOsdItem("",osUnknown, false)); // blank line Add(new cOsdItem("",osUnknown, false)); // blank line Add(new cOsdItem("",osUnknown, false)); // blank line Add(new cOsdItem("",osUnknown, false)); // blank line Add(new cOsdItem(tr("Info:"), osUnknown, false)); AddFloatingText(tr("Please select 'all Channels' to add channels to your favorites."), 50); } else { AddFloatingText(tr("No channels in this bouquet"), 50); } } else { if (!currentSet) { if (lastPosition >= Count()) lastPosition = Count() - 1; SetCurrent(Get(lastPosition)); } } cString tmpTitle = favouritesFilters.MakeTitle(); if (*tmpTitle) tmpTitle = cString::sprintf("%s: %s/%s", tr("Channel List"), tr(FAVOURITES), *tmpTitle); else tmpTitle = cString::sprintf("%s: %s", tr("Channel List"), tr(FAVOURITES)); SetTitle(*tmpTitle); Display(); SetHelp(tr(ALL_CHANNELS), tr(SOURCES), tr(FAVOURITES), tr("Functions")); }
void cMenuAddChannelToFavourites::Set(bool selectLast) { Clear(); SetCols(6); if (CountFavFolders() == 0) AddFloatingText(tr("You have no favourite folders. Please create one before you can add the channel"), 50); else AddFloatingText (cString::sprintf(tr("Select folder for %d channels"), channelsToAdd.size()) , 50); Add(new cOsdItem("", osUnknown, false)); // Give user chance to add new folder Add(new cOsdItem(*cString::sprintf("%c\t%s", char(132), tr("Create new folder")))); /* if folder available, differentiate them from the above option */ if (CountFavFolders() != 0) { Add(new cOsdItem("", osUnknown, false)); } cOsdChannelItem *firstFolderItem = NULL, *bouquetItem = NULL; // count the number of to-be-added channels that are in a bouquet // if it is equal to the channelsToAdd.size() then the bouquet contains // all the to-be-added channels, so the bouquet should be marked as unavailable unsigned int count_repeats = 0; // show all 'bouquets' from favourite list cChannel *ch = favourites.First(); for ( ; ch; ch = favourites.Next(ch)) { if (ch->GroupSep()) { // all channels to be added were in the previous bouquet, so // the bouquet should be unselectable if (bouquetItem && count_repeats == channelsToAdd.size()) { // if this bouquet was the current item // now it no longer is. if (firstFolderItem == bouquetItem) firstFolderItem = NULL; // bouquet not selectable bouquetItem->SetForbidden(true); bouquetItem->Set(); } // if (all channels in prev bouquet) bouquetItem = new cOsdChannelItem(ch, true); Add(bouquetItem); count_repeats = 0; if (!firstFolderItem) firstFolderItem = bouquetItem; } else { if (bouquetItem) { tChannelID channelID = ch->GetChannelID(); // check if any to-be-added channel is present in the current bouquet // if so, increment count_repeats for(unsigned int i=0; i< channelsToAdd.size(); ++i) { cChannel *channel = Channels.GetByNumber(channelsToAdd.at(i)); if (channel && channel->GetChannelID() == channelID) { count_repeats ++; break; } // if } // for } // if bouquetItem } // else } // for /* last entry is the newly created folder */ if (selectLast) { SetCurrent(Get(Count()-1)); } else SetCurrent(firstFolderItem); Display(); SetStatus(tr("Select folder with 'Ok'")); }
void myMenuSetupColumns::Set() { SetCols(30); // build up menu entries // SetHelp(tr("Edit"), NULL, NULL, NULL); //SetHelp(tr("Edit"), NULL, tr("Move Up"), tr("Move down")); // save current postion int current = Current(); // clear entries, if any Clear(); cOsdItem *sItem; char *itemStr; int ret; ret = asprintf(&itemStr, "%s\t%s", tr("Icon"), tr("(fixed to the first position)")); if (ret <= 0) { esyslog("Error allocating linebuffer for cOsdItem."); return; } sItem = new cOsdItem(itemStr); sItem->SetSelectable(false); Add(sItem); // build up setup menu for(int i=0; i<MAX_RECLIST_COLUMNS; i++) { ret = asprintf(&itemStr, "%s %i", tr("Item"),i+1); if (ret <= 0) { esyslog("Error allocating linebuffer for cOsdItem."); return; } Add(new cMenuEditStraItem(itemStr, &(preclistcolumns[i].Type), MAX_COLTYPES, ColumnType_descriptions)); switch (preclistcolumns[i].Type) { case COLTYPE_NONE: break; case COLTYPE_BLANK: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 0, 24)); break; case COLTYPE_DATE: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 8, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); break; case COLTYPE_TIME: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 5, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); break; case COLTYPE_DATETIME: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 14, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); break; case COLTYPE_LENGTH: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 3, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); break; case COLTYPE_RATING: Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 5, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); break; case COLTYPE_FILE: Add(new cMenuEditStrItem(IndentMenuItem(tr("Name")), (preclistcolumns[i].Name), 64, tr(FileNameChars))); Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 1, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); Add(new cMenuEditStrItem(IndentMenuItem(tr("Filename")), (preclistcolumns[i].Op1), 64, tr(FileNameChars))); break; case COLTYPE_FILETHENCOMMAND: Add(new cMenuEditStrItem(IndentMenuItem(tr("Name")), (preclistcolumns[i].Name), 64, tr(FileNameChars))); Add(new cMenuEditIntItem(IndentMenuItem(tr("Width")), &(preclistcolumns[i].Width), 1, 24)); Add(new cMenuEditStraItem(IndentMenuItem(tr("Alignment")), &(preclistcolumns[i].Align), 3, AlignmentType_names)); Add(new cMenuEditStrItem(IndentMenuItem(tr("Filename")), (preclistcolumns[i].Op1), 1024, tr(FileNameChars))); Add(new cMenuEditStrItem(IndentMenuItem(tr("Command")), (preclistcolumns[i].Op2), 1024, tr(FileNameChars))); break; } } ret = asprintf(&itemStr, "%s\t%s", tr("Name of the recording"), tr("(fixed to the last position)")); if (ret <= 0) { esyslog("Error allocating linebuffer for cOsdItem."); return; } sItem = new cOsdItem(itemStr); sItem->SetSelectable(false); Add(sItem); // restore current position SetCurrent(Get(current)); }