public WidgetForm()
        {
            WeatherLionMain.Launch();
            InitializeComponent();

            SetStyle(ControlStyles.Selectable, false);
            FormBorderStyle = FormBorderStyle.None;

            // round the corners until another way can be found
            //Region = Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 28, 28));

            // load the custom Font
            LoadFont();

            // allocate Font to a control
            foreach (Control c in pnlWidget.Controls)
            {
                if (c is Label || c is Button || c is HtmlLabel)
                {
                    AllocateFont(weatherFontFamily, c, c.Font.Size);
                    c.ForeColor  = Color.White;
                    c.MouseDown += new MouseEventHandler(ShowMenu);
                }// end of if block
                else if (c is FlowLayoutPanel || c is Panel)
                {
                    foreach (Control sc in c.Controls)
                    {
                        AllocateFont(weatherFontFamily, sc, sc.Font.Size);
                        sc.ForeColor = Color.White;
                        FixBorders(sc);
                        sc.MouseDown += new MouseEventHandler(ShowMenu);
                    } // end of inner foreach block
                }     // end of if block
                else if (c is HtmlLabel)
                {
                    AllocateFont(weatherFontFamily, c, c.Font.Size);
                    c.MouseDown += new MouseEventHandler(ShowMenu);
                }// end of if block

                FixBorders(c);
                c.MouseDown += new MouseEventHandler(ShowMenu);
            }// end of foreach block

            // indicate that the program is running
            running = true;

            m_instance = this;
            WeatherLionMain.runningWidget = GetInstance();
        }// end of default contructor
 public IconUpdateService(WidgetForm widget)
 {
     currentWidget = widget;
     Run();
 }// end of default constructor