/// <summary> /// Returns the desired quad, if it does not exist, top left is returned /// </summary> /// <param name="quad"></param> /// <returns></returns> public static Quadrant GetQuad(int quad) { string quadText = GetSetting("Quadrants", "Top left,0,0,796,579"); Quadrant q = new Quadrant(); if (!quadText.Contains(",")) { q.X = 0; q.Y = 0; q.Width = 796; q.Height = 579; q.Name = "Default - top left"; q.Number = quad; } else { string[] quads = quadText.Split(';'); string[] quadData = quads[quad - 1].Split(','); q.X = Convert.ToInt32(quadData[1]); q.Y = Convert.ToInt32(quadData[2]); q.Width = Convert.ToInt32(quadData[3]); q.Height = Convert.ToInt32(quadData[4]); q.Name = quadData[0]; q.Number = quad; } return(q); }
/// <summary> /// Moves the table window to the specific quadrant /// </summary> /// <param name="quad"></param> public void MoveToQuadrant(Quadrant quad, bool activeQuad) { int x = quad.X; int y = quad.Y; int width = quad.Width; int height = quad.Height; // Make sure table ratio & size doesn't exeed quadrant dimenzions if (width > MaxTableSize.Width) { width = MaxTableSize.Width; } else if (width < MinTableSize.Width) { width = MinTableSize.Width; } height = Convert.ToInt32((double)width * GetAspectRatio((int)width, this.Site)); // Save the previous location if (this.Quadrant != Settings.ActiveTableQuadrant) { Win32.GetWindowRect(handle, ref lastLocation); } // Move the window Win32.SetWindowPos(handle, (int)Win32.HWND.NOTOPMOST, x, y, width, height, (uint)Win32.SWP.NOOWNERZORDER); // Force redraw for stars tables if (this.GetType() == typeof(StarsTable)) { Win32.SendMessage(Handle, (int)Win32.WM.ENTERSIZEMOVE, 0, 0); Win32.SendMessage(Handle, (int)Win32.WM.SIZE, (int)Win32.SIZE.RESTORED, width + height << 16); //Rectangle rect = new Rectangle(); //Win32.GetWindowRect(Handle, ref rect); //Win32.SendMessage((IntPtr)Handle, (int)Win32.WM.SIZING, (int)Win32.WMSZ.BOTTOM, ref rect); //Win32.SendMessage((IntPtr)Handle, (int)Win32.WM.NCCALCSIZE, false, ref rect); Win32.SendMessage(Handle, (int)Win32.WM.EXITSIZEMOVE, 0, 0); Win32.SendMessage(Handle, (int)Win32.WM.KILLFOCUS, 0, 0); } // Set the tables quad location Quadrant = quad.Number; }
/// <summary> /// Moves the table window to the specific quadrant /// </summary> /// <param name="quad"></param> public void MoveToQuadrant(Quadrant quad, bool activeQuad) { int x = quad.X; int y = quad.Y; int width = quad.Width; int height = quad.Height; // Make sure table ratio & size doesn't exeed quadrant dimenzions if (width > MaxTableSize.Width) width = MaxTableSize.Width; else if (width < MinTableSize.Width) width = MinTableSize.Width; height = Convert.ToInt32((double)width * GetAspectRatio((int)width, this.Site)); // Save the previous location if(this.Quadrant != Settings.ActiveTableQuadrant) Win32.GetWindowRect(handle, ref lastLocation); // Move the window Win32.SetWindowPos(handle, (int)Win32.HWND.NOTOPMOST, x, y, width, height, (uint)Win32.SWP.NOOWNERZORDER); // Force redraw for stars tables if (this.GetType() == typeof(StarsTable)) { Win32.SendMessage(Handle, (int)Win32.WM.ENTERSIZEMOVE, 0, 0); Win32.SendMessage(Handle, (int)Win32.WM.SIZE, (int)Win32.SIZE.RESTORED, width + height << 16); //Rectangle rect = new Rectangle(); //Win32.GetWindowRect(Handle, ref rect); //Win32.SendMessage((IntPtr)Handle, (int)Win32.WM.SIZING, (int)Win32.WMSZ.BOTTOM, ref rect); //Win32.SendMessage((IntPtr)Handle, (int)Win32.WM.NCCALCSIZE, false, ref rect); Win32.SendMessage(Handle, (int)Win32.WM.EXITSIZEMOVE, 0, 0); Win32.SendMessage(Handle, (int)Win32.WM.KILLFOCUS, 0, 0); } // Set the tables quad location Quadrant = quad.Number; }
/// <summary> /// Returns the desired quad, if it does not exist, top left is returned /// </summary> /// <param name="quad"></param> /// <returns></returns> public static Quadrant GetQuad(int quad) { string quadText = GetSetting("Quadrants", "Top left,0,0,796,579"); Quadrant q = new Quadrant(); if (!quadText.Contains(",")) { q.X = 0; q.Y = 0; q.Width = 796; q.Height = 579; q.Name = "Default - top left"; q.Number = quad; } else { string[] quads = quadText.Split(';'); string[] quadData = quads[quad - 1].Split(','); q.X = Convert.ToInt32(quadData[1]); q.Y = Convert.ToInt32(quadData[2]); q.Width = Convert.ToInt32(quadData[3]); q.Height = Convert.ToInt32(quadData[4]); q.Name = quadData[0]; q.Number = quad; } return q; }