예제 #1
0
        /// <summary>
        /// The OpenNewAssetTile opens a new asset tile, subscribes to it's events,
        /// adds it to the active asset tiles and to the app data.
        /// Finally it calls the FireOnAppDataChanged method.
        /// </summary>
        public void OpenNewAssetTile()
        {
            if (this.portfolioTileSettingsWindowActive)
            {
                return;
            }

            IAssetTile assetTile = new WpfAssetTile(new AssetTileData(this.random), this.appData, this.apiHandler.ReadyApis);

            assetTile.OnTileClosed       += this.AssetTile_OnTileClosed;
            assetTile.OnAssetSelected    += this.AssetTile_OnAssetSelected;
            assetTile.OnAssetUnselected  += this.AssetTile_OnAssetUnselected;
            assetTile.OnAppDataChanged   += this.Tile_OnAppDataChanged;
            assetTile.OnAssetTileUpdated += this.AssetTile_OnAssetTileUpdated;
            this.activeAssetTiles.Add(assetTile);
            this.appData.AssetTileDataSet.Add(assetTile.AssetTileData);
            this.FireOnAppDataChanged();
            assetTile.Show();
        }
예제 #2
0
        /// <summary>
        /// The OpenLoadedAssetTiles opens all asset tiles which were stored in the app data,
        /// subscribes to it's events and adds it to the active asset tiles.
        /// Finally it get's added to the list of unattached asset tiles if there is an API defined in the asset tile data.
        /// </summary>
        private void OpenLoadedAssetTiles()
        {
            this.appData.AssetTileDataSet.ForEach(assetTileData =>
            {
                IAssetTile assetTile          = new WpfAssetTile(assetTileData, this.appData, this.apiHandler.ReadyApis);
                assetTile.OnTileClosed       += this.AssetTile_OnTileClosed;
                assetTile.OnAppDataChanged   += this.Tile_OnAppDataChanged;
                assetTile.OnAssetSelected    += this.AssetTile_OnAssetSelected;
                assetTile.OnAssetUnselected  += this.AssetTile_OnAssetUnselected;
                assetTile.OnAssetTileUpdated += this.AssetTile_OnAssetTileUpdated;
                this.activeAssetTiles.Add(assetTile);

                if (assetTile.AssetTileData.ApiName != null && assetTile.AssetTileData.ApiName != string.Empty)
                {
                    this.unattachedAssetTiles.Add(assetTile);
                }
                if (!this.appData.TileHandlerData.GlobalTileStyle.Hidden)
                {
                    assetTile.Show();
                }
            });
        }
예제 #3
0
        /// <summary>
        /// The AssetTile_OnAssetTileUpdated
        /// </summary>
        /// <param name="sender">The sender<see cref="object"/></param>
        /// <param name="e">The e<see cref="EventArgs"/></param>
        private void AssetTile_OnAssetTileUpdated(object sender, EventArgs e)
        {
            WpfAssetTile updatedAssetTile = (WpfAssetTile)sender;

            this.activePortfolioTiles.ForEach(port => port.Update(updatedAssetTile));
        }