Exemplo n.º 1
0
		public static void Initialize (MainFunc main_func)
		{
			if (initialized)
				throw new Exception ("This function cannot be called recursively.");

			initialized = true;
			int retval = scm_mono_boot_guile (main_func);
			Environment.Exit (retval);
		}
Exemplo n.º 2
0
 /// <summary>
 /// デリートスキップボタンをクリックしたとき
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnDelSkip_Click(object sender, EventArgs e)
 {
     if (MainProgram.ShowMessageRes(MainProgram.MES_DELETESKIP, MainProgram.MES_TITLE_QUESTION, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
     {
         // デリートスキップ実行
         MainFunc.DeleteSkip(this.NowWallpaper, true);
         // グリッドを再描画
         ListCreate();
     }
 }
Exemplo n.º 3
0
        public static void Initialize(MainFunc main_func)
        {
            if (initialized)
            {
                throw new Exception("This function cannot be called recursively.");
            }

            initialized = true;
            int retval = scm_mono_boot_guile(main_func);

            Environment.Exit(retval);
        }
Exemplo n.º 4
0
        /// <summary>
        /// すべてを更新する
        /// </summary>
        private void AllRefresh()
        {
            // 設定オブジェクト生成
            BgwcSetting set = new BgwcSetting();

            // 更新する前に現在の個別壁紙設定を保存
            set.SaveWallpaperSetting();
            // 現在の壁紙のパス更新
            MainFunc.NowWallpaperUpdate(this.NowWallpaper, MainFunc.RegWallpaperPath);
            // 壁紙リストを再構築
            ListCreate();
        }
Exemplo n.º 5
0
        /// <summary>
        /// Preview画像をクリックしたとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void picPreview_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                // 右クリック

                if (griList.RowsCount > 1)
                {
                    Bitmap bmp = new Bitmap(this.picPreview.Image);
                    //フォーカスを当てないとActicvePositionで落ちるので
                    MainProgram.frmMain.griList.Focus();
                    // 壁紙色をグリッドにセット
                    MainFunc.WallpaperColorSetting(true, bmp.GetPixel(e.X, e.Y));
                }
            }
        }
Exemplo n.º 6
0
        public static NamespaceBlock Find(string str)
        {
            Match match = Is.MatchesAll(str);

            if (match == null)
            {
                return(null);
            }

            var main = MainFunc.Find(match.Groups["NamespaceBlock_Main"].ToString());

            if (main == null)
            {
                return(null);
            }

            return(new NamespaceBlock()
            {
                main = main,
                thisNamespace = new MemberName(match.Groups["NamespaceBlock_namespace"].ToString())
            });
        }
Exemplo n.º 7
0
 static SilkActivity()
 {
     SearchPathContainer.Platform = UnderlyingPlatform.Android;
     CurrentMain = Main;
 }
Exemplo n.º 8
0
 static extern int scm_mono_boot_guile(MainFunc main_func);
Exemplo n.º 9
0
		static extern int scm_mono_boot_guile (MainFunc main_func);
Exemplo n.º 10
0
        /// <summary>
        /// グリッドにリストを生成する
        /// </summary>
        private void ListCreate()
        {
            // グリッドクリア
            this.GridClear();

            // BGWC壁紙フォルダが存在するときのみリスト作成
            if (Directory.Exists(this.txtWallpaperFolder.Text))
            {
                // BGWC壁紙フォルダ以下にあるファイルを取得し配列に格納
                string[] strAllFiles = Directory.GetFiles(this.txtWallpaperFolder.Text, "*", SearchOption.AllDirectories);

                // 壁紙に関するファイルだけ抽出
                List <string> lstGraphicFile = new List <string>();   // 壁紙用ファイルリスト初期化
                lstGraphicFile.Capacity = strAllFiles.Length;
                foreach (string strFile in strAllFiles)
                {
                    if (this.CheckFileExt(Path.GetExtension(strFile)))
                    {
                        lstGraphicFile.Add(strFile);
                    }
                }

                // リストを作成

                // SourceGrid用イベント初期化
                CellDoubleClickEvent   doubleclickController   = new CellDoubleClickEvent();
                FileNameCellClickEvent filenameClickController = new FileNameCellClickEvent();
                //FileNameEditStartEvent filenameeditstartController = new FileNameEditStartEvent();
                WallpaperColorCellClickEvent wallpaperColorClickController = new WallpaperColorCellClickEvent();
                KeyDownEvent keydownController = new KeyDownEvent();

                // 壁紙位置リスト生成
                SourceGrid.Cells.Editors.ComboBox cbEditor = new SourceGrid.Cells.Editors.ComboBox(typeof(string));
                cbEditor.StandardValues        = new string[] { "", MainProgram.conWallpaperPos_Ori, MainProgram.conWallpaperPos_Arr, MainProgram.conWallpaperPos_Fit };
                cbEditor.EditableMode          = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.SingleClick | SourceGrid.EditableMode.AnyKey;
                cbEditor.Control.DropDownStyle = ComboBoxStyle.DropDownList;

                // 検索用IndexList初期化
                _lstKeyIndexList          = new List <string>();
                _lstKeyIndexList.Capacity = 1000;
                // ヘッダの分を追加しておく
                _lstKeyIndexList.Add("");

                // 壁紙用ファイルリストから1つずつとりだす
                foreach (string strFile in lstGraphicFile)
                {
                    // 新規行番号を取得
                    int i = griList.RowsCount;
                    // 新規行を追加
                    griList.Rows.Insert(i);

                    // ファイル名用セル生成
                    griList[i, (int)MainProgram.enuGrid.FILENAME] = new SourceGrid.Cells.Cell(strFile.Replace(this.txtWallpaperFolder.Text + "\\", ""), typeof(string));
                    griList[i, (int)MainProgram.enuGrid.FILENAME].Editor.EditableMode = SourceGrid.EditableMode.None;
                    griList[i, (int)MainProgram.enuGrid.FILENAME].AddController(doubleclickController);
                    griList[i, (int)MainProgram.enuGrid.FILENAME].AddController(filenameClickController);
                    //griList[i, (int)MainProgram.enuGrid.FILENAME].AddController(filenameeditstartController);
                    griList[i, (int)MainProgram.enuGrid.FILENAME].AddController(keydownController);
                    // 検索用Indexリストに追加
                    _lstKeyIndexList.Add(strFile.Replace(WallpaperFolder + "\\", ""));
                    // 追加するファイルパス格納
                    string strAddFilePath = txtWallpaperFolder.Text + "\\" + griList[i, (int)MainProgram.enuGrid.FILENAME].Value;

                    // 壁紙サイズ用セル生成
                    //if (this.CheckFileExt((Path.GetExtension(strFile)))){
                    griList[i, (int)MainProgram.enuGrid.WALLPAPERSIZE] = new SourceGrid.Cells.Cell(MainFunc.GetWallpaperSize(strAddFilePath));
                    //}

                    // 壁紙位置用セル生成
                    griList[i, (int)MainProgram.enuGrid.VIEWPOS]      = new SourceGrid.Cells.Cell("", cbEditor);
                    griList[i, (int)MainProgram.enuGrid.VIEWPOS].View = SourceGrid.Cells.Views.ComboBox.Default;

                    // 壁紙色用セル生成
                    griList[i, (int)MainProgram.enuGrid.COLOR] = new SourceGrid.Cells.Cell("None", typeof(string));
                    griList[i, (int)MainProgram.enuGrid.COLOR].AddController(wallpaperColorClickController);
                    griList[i, (int)MainProgram.enuGrid.COLOR].Editor.EditableMode = SourceGrid.EditableMode.None;

                    // 壁紙色(RGB)用セル生成
                    griList[i, (int)MainProgram.enuGrid.RGBCOLOR] = new SourceGrid.Cells.Cell("", typeof(string));
                }
                // 検索用Indexリストのキャパシティを調整
                _lstKeyIndexList.TrimExcess();


                // 個別壁紙表示設定が存在する場合(ViewSettingファイルが存在)
                if (File.Exists(MainProgram.ApplicationPath + "\\" + MainProgram.conViewSetFileName))
                {
                    // 個別壁紙表示設定を取得 (DLL)
                    ViewSetting vset = new ViewSetting();

                    // ViewSettingファイルからロード
                    vset.ReadViewSetting(MainProgram.ApplicationPath + "\\" + MainProgram.conViewSetFileName);

                    // ViewSettingListから1つずつ取り出す
                    foreach (GVWI gvwi in vset.List)
                    {
                        // BGWCKeyをもつIndexを検索
                        int idx = GetKeyIndex(gvwi.Key);

                        // 見つかったとき
                        if (idx > 0)
                        {
                            // ヘッダの分プラス
                            //idx++;

                            // 壁紙位置を更新
                            griList[idx, (int)MainProgram.enuGrid.VIEWPOS]      = new SourceGrid.Cells.Cell(gvwi.ViewPos, cbEditor);
                            griList[idx, (int)MainProgram.enuGrid.VIEWPOS].View = SourceGrid.Cells.Views.ComboBox.Default;

                            if (gvwi.Color != "")
                            {
                                // 壁紙色を更新
                                griList[idx, (int)MainProgram.enuGrid.RGBCOLOR] = new SourceGrid.Cells.Cell(gvwi.Color, typeof(string));
                                string[] strRGB = gvwi.Color.Split(' ');
                                SourceGrid.Cells.Views.Cell cview = new SourceGrid.Cells.Views.Cell();
                                cview.BackColor = Color.FromArgb(int.Parse(strRGB[0]), int.Parse(strRGB[1]), int.Parse(strRGB[2]));
                                griList[idx, (int)MainProgram.enuGrid.COLOR].View  = cview;
                                griList[idx, (int)MainProgram.enuGrid.COLOR].Value = "";
                            }
                        }
                    }
                }

                // 現在の壁紙を選択状態にする
                ListWallpaperSelected(GetWallpaperKey(NowWallpaper));
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// 壁紙を登録する
        /// </summary>
        /// <param name="strAddFilePath">登録する壁紙のパス</param>
        private void AddWallpaper(string strAddFilePath)
        {
            // 常に手前を解除
            MainProgram.Foremost(false);

            // コピー先パス
            string strCopyFilePath = this.txtWallpaperFolder.Text + "\\" + Path.GetFileName(strAddFilePath);

            // コピーファイルが存在するか確認
            if (File.Exists(strCopyFilePath))
            {
                // もしすでに存在していたら

                //拡張子取得
                string strExt = Path.GetExtension(strAddFilePath);
                //違う名前を入力してもらう
                string strNewFileName
                    = Microsoft.VisualBasic.Interaction.InputBox(MainProgram.MES_FILE_NEWNAME, MainProgram.MES_FILE_EXISTS, "Wallpaper" + DateTime.Now.ToString("yyyymmdd") + DateTime.Now.ToString("hhmmss"), -1, -1);
                if (strNewFileName == "")
                {
                    // キャンセルされたら登録せずに終了
                    return;
                }
                // コピー先パスを更新
                strCopyFilePath = this.WallpaperFolder + "\\" + strNewFileName + "." + strExt;
            }

            // 壁紙を登録(ファイル移動)
            try
            {
                File.Move(strAddFilePath, strCopyFilePath);
            }
            catch (Exception ex)
            {
                MainProgram.ShowMessage(ex.Message, MainProgram.MES_TITLE_ERROR, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // 登録後壁紙設定するか確認する。
            DialogResult ret = MessageBox.Show(Path.GetFileName(strCopyFilePath) + "を壁紙に設定しますか?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (ret == DialogResult.Yes)
            {
                // OKが選択されたら

                // リストを再構築
                this.ListCreate();
                // 追加した壁紙を選択状態にする
                ListWallpaperSelected(GetWallpaperKey(strCopyFilePath));
                // 追加した壁紙を現在の壁紙にする
                MainFunc.NowWallpaperUpdate(strCopyFilePath, strCopyFilePath);

                // 壁紙にする
                MainProgram.frmMain.btnApply_Click(new Object(), new EventArgs());
            }

            // 常に手前だったら戻す
            if (MainProgram.frmMain.frmOpt.AlwaysOnTop == true)
            {
                MainProgram.Foremost(true);
            }
        }
Exemplo n.º 12
0
        /*
         *  イベント
         */
        #region Event

        /// <summary>
        /// MainFormをロードしたとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainForm_Load(object sender, EventArgs e)
        {
            GeneralFunction gfunc = new GeneralFunction();

            // コマンドラインで"delskip"をわたされたら
            if (MainProgram.CommandLine == "/delskip")
            {
                MainFunc.DeleteSkip(this.NowWallpaper, true);
                Environment.Exit(0);
            }
            else if (MainProgram.CommandLine == "/nowall")
            {
                // "/nowall"がわたされたら
                // レジストリキーをオープン
                RegistryKey regkey = Registry.CurrentUser.OpenSubKey(MainProgram.conWallpaperSubKey);
                regkey.SetValue("Wallpaper", "");
                // 壁紙を無効に設定
                regkey.Close();
                Environment.Exit(0);
            }
            else if (MainProgram.CommandLine.Length > 4 && MainProgram.CommandLine.Substring(0, 4) == "/add")
            {
                // 壁紙がドロップされたとき
                // Me.Hide
                // 前のaddの文字をとって壁紙登録
                AddWallpaper(MainProgram.CommandLine.Substring(4));
                // 登録後終了する
                Environment.Exit(0);
            }

            // 設定されている壁紙を取得(Regist)
            // もしBGWChangerと違う壁紙が設定されていた場合
            if (MainFunc.RegWallpaperPath != MainProgram.gBGWChangerGraphicPath)
            {
                // 壁紙情報をそっちに入れ替える
                MainFunc.NowWallpaperUpdate(MainFunc.RegWallpaperPath, MainFunc.RegWallpaperPath);
            }
            else
            {
                // BGWChangerGraphic存在チェック
                if (File.Exists(MainProgram.gBGWChangerGraphicPath))
                {
                    // 設定されている壁紙の元ファイルパスを読み込む
                    MainFunc.NowWallpaperUpdate(MainProgram.set.Wallpaper, MainProgram.gBGWChangerGraphicPath);
                }
            }

            if (MainFunc.RegWallpaperPath == "")
            {
                MainProgram.frmMain.frmOpt.WallpaperNothing = true;
            }

            // 壁紙リスト生成
            ListCreate();

            // 壁紙チェンジ
            if (MainProgram.CommandLine == "/change" && griList.Rows.Count > 0)
            {
                MainFunc.WallpaperChange();
                gfunc.WallpaperChanged();
                return;
            }

            // プレビューに現在の壁紙の名前とサイズをロード
            this.PreviewFileName     = Path.GetFileName(txtNowWallpaper.Text);
            this.lblPreviewSize.Text = this.lblWallpaperSize.Text;

            MainProgram.gWallpaperStyleWriteFlag = true;

            // すべてロードしてから表示
            this.Visible = true;
        }