void OnGUI()
        {
            wantsMouseMove = true;

            // check for compiling status
            // refresh versioning as well.
            if (isCompiling!=EditorApplication.isCompiling)
            {
                isCompiling = EditorApplication.isCompiling;

                if (!isCompiling)
                {
                    //Debug.Log("Compiling Ecosystem "+EditorApplication.isCompiling);
                    CurrentVersion = MyUtils.Utils.UpdateVersion(pathToVersionInfoSource);
                    CurrentVersionAsString = CurrentVersion.ToShortString();
                }

            }else if (string.IsNullOrEmpty(CurrentVersionAsString))
            {
                CurrentVersion = MyUtils.Utils.UpdateVersion(pathToVersionInfoSource);
                CurrentVersionAsString = CurrentVersion.ToShortString();
            }

            if (Event.current.type == EventType.MouseMove) Repaint ();

            // init skin
            OnGUI_SetUpSkin();

            // the toolbar is unskinned
            if ( !DiscreteTooBar_on || ShowToolBar)
            {
                OnGUI_ToolStrip();
            }

            /*
            if (GUILayout.Button("test"))
            {
                test ();
            }
            */
            // switch to the custom editor skin
            // TODO: should design the scroll widgets so that it can be matching the skin.
            GUI.skin = editorSkin;

            OnGUI_Main();
        }