void CreaTexts() { //Step1 hwT0 = addLabel("Copy/paste script source here, or open a js/html file", 10,50,WINW3,30); hwSrcEdit = addMLEdit(ID_SRCEDIT,10, 80, WINW2, 450); hwTp0 = addLabel("", 400,50,100,30); //Step2 hwT1 = addLabel("Set options for javascript minifier:", 10,50,WINW3,30); hwM0 = addCheckBox("remove redundant spaces and tabs", 10,90,WINW3,30, TRUE); hwM1 = addCheckBox("reduce linebreaks", 10,120,WINW3,30, TRUE); hwM2 = addCheckBox("remove comments", 10,150,WINW3,30, TRUE); hwM3 = addCheckBox("some other", 10,180,WINW3,30, TRUE); BtMinfy = addButton(ID_MINFY, "Minify", 10,220,100,30); //Step3 hwT2 = addLabel("Minified result:", 10,50,WINW3,30); hwMResEdit = addMLEdit(ID_MRESEDIT,10, 80, WINW2, 450); hwTp1 = addLabel("", 400,50,100,30); //Step4 hwT3 = addLabel("Set options for javascript obfuscator:", 10,50,WINW3,30); hwO0 = addCheckBox("functions", 10,90,WINW3,30, TRUE); hwO1 = addCheckBox("variables", 10,120,WINW3,30, TRUE); hwTa = addLabel("minimal length of keywords", 56,164,WINW3,30); hwO2 = addCheckBox("also in html", 10,200,WINW3,30, FALSE); hwO3 = addCheckBox("all keywords", 10,230,WINW3,30, FALSE); hwOLen = addInputField("3", 10,160,40, FontSize+8 ); BtPrepKw = addButton(ID_PREOKW, "Prepare keywords", 10,270,180,30); //Step5 hwT4 = addLabel("Clear/edit the \"new\" generated name, then obfuscate.", 10,50,WINW3,30); hwTb = addLabel("", 400,50,WINW3,100); hwKwGrid = addGrid(ID_KWDGRID,10, 100, WINW2, 450); CreateColumn(hwKwGrid,0,"new", 50); CreateColumn(hwKwGrid,1,"keyword", 220); CreateColumn(hwKwGrid,2,"cnt", 60); CreateColumn(hwKwGrid,3,"description", 430); BtObfsc = addButton(ID_OBFSC, "Obfuscate", 600,50,140,30); //Step6 hwT5 = addLabel("Obfuscated result:", 10,50,WINW3,30); hwOResEdit = addMLEdit(ID_ORESEDIT,10, 80, WINW2, 450); hwTp2 = addLabel("", 400,50,100,30); PostMessage(hwnd, WM_NOTIFY, 0, 0); // display and hide }
void HoIModDesigner::CreateColumn( QTreeWidgetItem* parent, const HoI3Token& token ) const { QList<HoI3Token>::ConstIterator iter; for( iter = token.m_Tokens.constBegin(); iter != token.m_Tokens.constEnd(); iter++ ) { QStringList newData; newData << iter->m_Name << iter->m_Value; QTreeWidgetItem *newItem = new QTreeWidgetItem( parent, newData ); CreateColumn( newItem, (*iter) ); } }
void idCVarSystemLocal::ListByFlags( const idCmdArgs &args, cvarFlags_t flags ) { int i, argNum; idStr match, indent, string; const idInternalCVar *cvar; idList<const idInternalCVar *>cvarList; enum { SHOW_VALUE, SHOW_DESCRIPTION, SHOW_TYPE, SHOW_FLAGS } show; argNum = 1; show = SHOW_VALUE; if ( idStr::Icmp( args.Argv( argNum ), "-" ) == 0 || idStr::Icmp( args.Argv( argNum ), "/" ) == 0 ) { if ( idStr::Icmp( args.Argv( argNum + 1 ), "help" ) == 0 || idStr::Icmp( args.Argv( argNum + 1 ), "?" ) == 0 ) { argNum = 3; show = SHOW_DESCRIPTION; } else if ( idStr::Icmp( args.Argv( argNum + 1 ), "type" ) == 0 || idStr::Icmp( args.Argv( argNum + 1 ), "range" ) == 0 ) { argNum = 3; show = SHOW_TYPE; } else if ( idStr::Icmp( args.Argv( argNum + 1 ), "flags" ) == 0 ) { argNum = 3; show = SHOW_FLAGS; } } if ( args.Argc() > argNum ) { match = args.Args( argNum, -1 ); match.Replace( " ", "" ); } else { match = ""; } for ( i = 0; i < localCVarSystem.cvars.Num(); i++ ) { cvar = localCVarSystem.cvars[i]; if ( !( cvar->GetFlags() & flags ) ) { continue; } if ( match.Length() && !cvar->nameString.Filter( match, false ) ) { continue; } cvarList.Append( cvar ); } cvarList.Sort(); switch( show ) { case SHOW_VALUE: { for ( i = 0; i < cvarList.Num(); i++ ) { cvar = cvarList[i]; common->Printf( FORMAT_STRING S_COLOR_WHITE "\"%s\"\n", cvar->nameString.c_str(), cvar->valueString.c_str() ); } break; } case SHOW_DESCRIPTION: { indent.Fill( ' ', NUM_NAME_CHARS ); indent.Insert( "\n", 0 ); for ( i = 0; i < cvarList.Num(); i++ ) { cvar = cvarList[i]; common->Printf( FORMAT_STRING S_COLOR_WHITE "%s\n", cvar->nameString.c_str(), CreateColumn( cvar->GetDescription(), NUM_DESCRIPTION_CHARS, indent, string ) ); } break; } case SHOW_TYPE: { for ( i = 0; i < cvarList.Num(); i++ ) { cvar = cvarList[i]; if ( cvar->GetFlags() & CVAR_BOOL ) { common->Printf( FORMAT_STRING S_COLOR_CYAN "bool\n", cvar->GetName() ); } else if ( cvar->GetFlags() & CVAR_INTEGER ) { if ( cvar->GetMinValue() < cvar->GetMaxValue() ) { common->Printf( FORMAT_STRING S_COLOR_GREEN "int " S_COLOR_WHITE "[%d, %d]\n", cvar->GetName(), (int) cvar->GetMinValue(), (int) cvar->GetMaxValue() ); } else { common->Printf( FORMAT_STRING S_COLOR_GREEN "int\n", cvar->GetName() ); } } else if ( cvar->GetFlags() & CVAR_FLOAT ) { if ( cvar->GetMinValue() < cvar->GetMaxValue() ) { common->Printf( FORMAT_STRING S_COLOR_RED "float " S_COLOR_WHITE "[%s, %s]\n", cvar->GetName(), idStr( cvar->GetMinValue() ).c_str(), idStr( cvar->GetMaxValue() ).c_str() ); } else { common->Printf( FORMAT_STRING S_COLOR_RED "float\n", cvar->GetName() ); } } else if ( cvar->GetValueStrings() ) { common->Printf( FORMAT_STRING S_COLOR_WHITE "string " S_COLOR_WHITE "[", cvar->GetName() ); for ( int j = 0; cvar->GetValueStrings()[j] != NULL; j++ ) { if ( j ) { common->Printf( S_COLOR_WHITE ", %s", cvar->GetValueStrings()[j] ); } else { common->Printf( S_COLOR_WHITE "%s", cvar->GetValueStrings()[j] ); } } common->Printf( S_COLOR_WHITE "]\n" ); } else { common->Printf( FORMAT_STRING S_COLOR_WHITE "string\n", cvar->GetName() ); } } break; } case SHOW_FLAGS: { for ( i = 0; i < cvarList.Num(); i++ ) { cvar = cvarList[i]; common->Printf( FORMAT_STRING, cvar->GetName() ); string = ""; if ( cvar->GetFlags() & CVAR_BOOL ) { string += S_COLOR_CYAN "B "; } else if ( cvar->GetFlags() & CVAR_INTEGER ) { string += S_COLOR_GREEN "I "; } else if ( cvar->GetFlags() & CVAR_FLOAT ) { string += S_COLOR_RED "F "; } else { string += S_COLOR_WHITE "S "; } if ( cvar->GetFlags() & CVAR_SYSTEM ) { string += S_COLOR_WHITE "SYS "; } else if ( cvar->GetFlags() & CVAR_RENDERER ) { string += S_COLOR_WHITE "RNDR "; } else if ( cvar->GetFlags() & CVAR_SOUND ) { string += S_COLOR_WHITE "SND "; } else if ( cvar->GetFlags() & CVAR_GUI ) { string += S_COLOR_WHITE "GUI "; } else if ( cvar->GetFlags() & CVAR_GAME ) { string += S_COLOR_WHITE "GAME "; } else if ( cvar->GetFlags() & CVAR_TOOL ) { string += S_COLOR_WHITE "TOOL "; } else { string += S_COLOR_WHITE " "; } string += ( cvar->GetFlags() & CVAR_USERINFO ) ? "UI " : " "; string += ( cvar->GetFlags() & CVAR_SERVERINFO ) ? "SI " : " "; string += ( cvar->GetFlags() & CVAR_STATIC ) ? "ST " : " "; string += ( cvar->GetFlags() & CVAR_CHEAT ) ? "CH " : " "; string += ( cvar->GetFlags() & CVAR_INIT ) ? "IN " : " "; string += ( cvar->GetFlags() & CVAR_ROM ) ? "RO " : " "; string += ( cvar->GetFlags() & CVAR_ARCHIVE ) ? "AR " : " "; string += ( cvar->GetFlags() & CVAR_MODIFIED ) ? "MO " : " "; string += "\n"; common->Printf( string ); } break; } } common->Printf( "\n%i cvars listed\n\n", cvarList.Num() ); common->Printf( "listCvar [search string] = list cvar values\n" "listCvar -help [search string] = list cvar descriptions\n" "listCvar -type [search string] = list cvar types\n" "listCvar -flags [search string] = list cvar flags\n" ); }
//---------------------------- PUBLIC -----------------------------// wxUpgradeUI::wxUpgradeUI(wxWindow* parent, const GamePtr &game) : wxBaseUI<wxPanel>(parent, sMinSizeUpgrade) { SetMinSize(sMinSizeUpgrade); SetBackgroundColour(SKIN.Element(shBackground)); Controller::get().AddReceiver(shEventCityUpgrade, &wxUpgradeUI::OnCityUpgrade, this); Controller::get().AddReceiver(shEventPlayerReorder, &wxUpgradeUI::OnPlayerReorder, this); Controller::get().AddReceiver(shEventTabUpgrades, &wxUpgradeUI::OnTabUpgrades, this); wxInt32 players = game->numPlayers(); mTrade.resize(players, 0); mPolitics.resize(players, 0); mScience.resize(players, 0); // Create all of the bitmap images to hold everything. wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); // Create the four vertical column sizers for player colors and the three // types of upgrades. wxBoxSizer* color = new wxBoxSizer(wxVERTICAL); wxBoxSizer* vert1 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* vert2 = new wxBoxSizer(wxVERTICAL); wxBoxSizer* vert3 = new wxBoxSizer(wxVERTICAL); wxInt32 spacerY = 140; spacerY -= (players * 20); spacerY /= (players + 1); float ratio = static_cast<float>(players) / 6.0f; spacerY *= static_cast<wxInt32>(ratio); wxInt32 spacerX = static_cast<wxInt32>(20 * ratio); // Color column. color->AddStretchSpacer(30); color->AddStretchSpacer(spacerY); sBitmaps.resize(players); for(wxInt32 i = 0; i < players; ++i) { sBitmaps[i] = new wxPlayerCenteredBitmap(this, sDefaultPlayerSize, sDefaultPlayerSize, game->playerGame(i).color()); color->Add(sBitmaps[i], 20, wxEXPAND); color->AddStretchSpacer(spacerY); } // The three card images. wxImageCenteredBitmap* trade = new wxImageCenteredBitmap(this, wxSize(20, 30), wxSize(16, 22), shCards, shTradeCard); wxImageCenteredBitmap* politics = new wxImageCenteredBitmap(this, wxSize(20, 30), wxSize(16, 22), shCards, shPoliticsCard); wxImageCenteredBitmap* science = new wxImageCenteredBitmap(this, wxSize(20, 30), wxSize(16, 22), shCards, shScienceCard); // Columns. vert1->Add(trade, 30, wxEXPAND); vert2->Add(politics, 30, wxEXPAND); vert3->Add(science, 30, wxEXPAND); CreateColumn(this, shTradeLevel, game, vert1, spacerY, mTrade); CreateColumn(this, shPoliticsLevel, game, vert2, spacerY, mPolitics); CreateColumn(this, shScienceLevel, game, vert3, spacerY, mScience); sizer->Add(color, 25, wxEXPAND); sizer->AddStretchSpacer(spacerX); sizer->Add(vert1, 20, wxEXPAND); sizer->AddStretchSpacer(spacerX); sizer->Add(vert2, 20, wxEXPAND); sizer->AddStretchSpacer(spacerX); sizer->Add(vert3, 20, wxEXPAND); sizer->AddStretchSpacer(spacerX); SetSizer(sizer); }
void FPropertyTable::AddColumn( const TSharedRef< FPropertyPath >& PropertyPath ) { AddColumn( CreateColumn( PropertyPath ) ); }
void FPropertyTable::AddColumn( const TWeakObjectPtr< UProperty >& Property ) { AddColumn( CreateColumn( Property ) ); }
void FPropertyTable::UpdateColumns() { if( Orientation == EPropertyTableOrientation::AlignPropertiesInColumns) { TMultiMap< UProperty*, TSharedRef< IPropertyTableColumn > > ColumnsMap; for (int ColumnIdx = 0; ColumnIdx < Columns.Num(); ++ColumnIdx) { TSharedRef< IDataSource > DataSource = Columns[ColumnIdx]->GetDataSource(); TSharedPtr< FPropertyPath > PropertyPath = DataSource->AsPropertyPath(); if( PropertyPath.IsValid() && PropertyPath->GetNumProperties() > 0 ) { ColumnsMap.Add(PropertyPath->GetRootProperty().Property.Get(), Columns[ColumnIdx]); } } Columns.Empty(); if ( ShowRowHeader ) { TSharedRef< IPropertyTableColumn > NewColumn = MakeShareable( new FPropertyTableRowHeaderColumn( SharedThis( this ) ) ); Columns.Add( NewColumn ); } if ( ShowObjectName ) { TSharedRef< IPropertyTableColumn > NewColumn = MakeShareable( new FPropertyTableObjectNameColumn( SharedThis( this ) ) ); NewColumn->SetFrozen( true ); Columns.Add( NewColumn ); } TArray< TWeakObjectPtr< UStruct > > UniqueTypes; TArray< int > TypeCounter; for( auto ObjectIter = SourceObjects.CreateConstIterator(); ObjectIter; ++ObjectIter ) { auto Object = *ObjectIter; if( !Object.IsValid() ) { continue; } const TSharedRef< FObjectPropertyNode > RootObjectNode = GetObjectPropertyNode( Object ); TWeakObjectPtr< UStruct > Type; if ( RootPath->GetNumProperties() == 0 ) { Type = RootObjectNode->GetObjectBaseClass(); } else { const TSharedPtr< FPropertyNode > PropertyNode = FPropertyNode::FindPropertyNodeByPath( RootPath, RootObjectNode ); if ( !PropertyNode.IsValid() ) { continue; } const TWeakObjectPtr< UProperty > Property = PropertyNode->GetProperty(); if ( !Property.IsValid() || !Property->IsA( UStructProperty::StaticClass() ) ) { continue; } UStructProperty* StructProperty = Cast< UStructProperty >( Property.Get() ); Type = StructProperty->Struct; } if ( !Type.IsValid() ) { continue; } int FoundIndex = -1; if ( UniqueTypes.Find( Type, /*OUT*/FoundIndex ) ) { TypeCounter[ FoundIndex ] = TypeCounter[ FoundIndex ] + 1; continue; } UniqueTypes.Add( Type ); TypeCounter.Add( 1 ); } if ( UniqueTypes.Num() > 0 ) { int HighestCountIndex = 0; int HighestCount = 0; for (int Index = 0; Index < TypeCounter.Num(); Index++) { if ( TypeCounter[Index] > HighestCount ) { HighestCountIndex = Index; HighestCount = TypeCounter[Index]; } } TWeakObjectPtr< UStruct > PrimaryType = UniqueTypes[ HighestCountIndex ]; for (TFieldIterator<UProperty> PropertyIter( PrimaryType.Get(), EFieldIteratorFlags::IncludeSuper); PropertyIter; ++PropertyIter) { TWeakObjectPtr< UProperty > Property = *PropertyIter; if ( PropertyIter->HasAnyPropertyFlags(CPF_AssetRegistrySearchable) ) { TArray< TSharedRef< IPropertyTableColumn > > MapResults; ColumnsMap.MultiFind(Property.Get(), MapResults); if(MapResults.Num() > 0) { for (int MapIdx = 0; MapIdx < MapResults.Num(); ++MapIdx) { Columns.Add(MapResults[MapIdx]); } } else { TSharedRef< IPropertyTableColumn > NewColumn = CreateColumn( Property ); Columns.Add( NewColumn ); } } } } } else { Columns.Empty(); if( SourceObjects.Num() > 0 ) { UClass* ObjectClass = SourceObjects[0]->GetClass(); TSharedRef< IPropertyTableColumn > HeadingColumn = MakeShareable( new FPropertyTablePropertyNameColumn( SharedThis( this ) ) ); Columns.Add( HeadingColumn ); for( auto ObjectIter = SourceObjects.CreateConstIterator(); ObjectIter; ++ObjectIter ) { auto Object = *ObjectIter; if( Object.IsValid() ) { const TSharedRef< FObjectPropertyNode > ObjectNode = GetObjectPropertyNode( Object ); const TSharedPtr< FPropertyNode > PropertyNode = FPropertyNode::FindPropertyNodeByPath( RootPath, ObjectNode ); UProperty* Property = PropertyNode->GetProperty(); if ( Property != NULL && Property->IsA( UArrayProperty::StaticClass() ) ) { for (int ChildIdx = 0; ChildIdx < PropertyNode->GetNumChildNodes(); ChildIdx++) { TSharedPtr< FPropertyNode > ChildNode = PropertyNode->GetChildNode( ChildIdx ); FPropertyInfo Extension; Extension.Property = ChildNode->GetProperty(); Extension.ArrayIndex = ChildNode->GetArrayIndex(); TSharedRef< FPropertyPath > Path = FPropertyPath::CreateEmpty()->ExtendPath( Extension ); TSharedRef< IPropertyTableColumn > NewColumn = MakeShareable( new FPropertyTableColumn( SharedThis( this ), Object, Path ) ); Columns.Add( NewColumn ); } } else if ( Property != NULL ) { TSharedRef< IPropertyTableColumn > NewColumn = MakeShareable( new FPropertyTableColumn( SharedThis( this ), Object ) ); Columns.Add( NewColumn ); } } } } } ColumnsChanged.Broadcast(); }
void FPropertyTable::AddColumn( const TWeakObjectPtr< UObject >& Object ) { AddColumn( CreateColumn( Object ) ); }