示例#1
0
        /// <summary>
        /// Standardowy konstruktor dla StartForm.
        /// </summary>
        /// <param name="log">Log do którego będą zapisywane wiadomości.</param>
        public StartForm(ILog log, INotificator notificator)
        {
            // Wywalanie wyjątków.
            if (log == null && notificator == null)
            {
                throw new NullReferenceException("log i notificator są puste");
            }
            else if (log == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("log nie może być pusty.", true));
                notificator.Notify(error);
                throw error;
            }
            else if (notificator == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("notificator nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }

            log.Write(Factory.GetNewInstanceCreationString("StartForm"), LogMessagesTypes.Detail);

            // Przypisywanie.
            this.notificator = notificator;
            this.log         = log;

            // Inicjalizacja komponentów.
            InitializeComponent();
            Reload();
        }
示例#2
0
        public NewGraphicForm(IProject project, ILog log, INotificator notificator)
        {
            // Wywalanie wyjątków.
            if (log == null && notificator == null)
            {
                throw new NullReferenceException("log i notificator są puste");
            }
            else if (log == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("log nie może być pusty.", true));
                notificator.Notify(error);
                throw error;
            }
            else if (notificator == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("notificator nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }

            log.Write(Factory.GetNewInstanceCreationString("NewGraphicForm"), LogMessagesTypes.Detail);

            // Przypisywanie.
            this.notificator = notificator;
            this.project     = project;
            this.log         = log;

            // Inicjalizacja komponentów.
            InitializeComponent();

            // Dopadsowywanie się do ustawień użytkownika.
            nudSizePerPixel.Value = ProgramInfo.MainSettings.StandardRPPEP;

            Reload();
        }
示例#3
0
        /// <summary>
        /// Standardowy konstruktor dla ToolboxForm.
        /// </summary>
        /// <param name="log">Log do którego będą zapisywane wiadomości.</param>
        public ToolboxForm(ILog log, INotificator notificator)
        {
            // Wywalanie wyjątków.
            if (log == null && notificator == null)
            {
                throw new NullReferenceException("log i notificator są puste");
            }
            else if (log == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("log nie może być pusty.", true));
                notificator.Notify(error);
                throw error;
            }
            else if (notificator == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("notificator nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }

            log.Write(Factory.GetNewInstanceCreationString("ToolboxForm"), LogMessagesTypes.Detail);

            // Przypisywanie.
            this.notificator        = notificator;
            this.log                = log;
            MainToolbox.CurrentPen  = new Pen(Color.White);
            MainToolbox.CurrentTool = Tools.DrawLine;

            // Inicjalizacja komponentów.
            InitializeComponent();

            // Operacje przygotowywujące ToolboxForm do wyświetlenia.
            SetLayout(Tools.DrawLine);
        }
示例#4
0
        /// <summary>
        /// Standardowy konstruktor dla GraphicsEditor.
        /// </summary>
        /// <param name="projectForThisGraphics">Projekt dla tego edytora graficznego. Może być pusty.</param>
        /// <param name="toolboxForThisEditor">Toolbox z którego ten edytor będzie pobierać informacje.</param>
        /// <param name="type">Typ tej grafiki.</param>
        /// <param name="log">Log dla tego edytora graficznego.</param>
        /// <param name="plusParams">Dodatkowe parametry zależne od typu grafiki.</param>
        public GraphicsEditor(IProject projectForThisGraphics, IToolbox toolboxForThisEditor, GraphicTypes type, ILog log, INotificator notificator, object[] plusParams)
        {
            // Wywalanie wyjątków.
            if (log == null && notificator == null)
            {
                throw new NullReferenceException("log i notificator są puste");
            }
            else if (log == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("log nie może być pusty.", true));
                notificator.Notify(error);
                throw error;
            }
            else if (notificator == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("notificator nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }
            else if (toolboxForThisEditor == null)
            {
                throw new NullReferenceException("Toolbox nie może być pusty.");
            }

            log.Write(Factory.GetNewInstanceCreationString("GraphicsEditor"), LogMessagesTypes.Detail);

            // Inicjalizacja komponentów.
            InitializeComponent();

            // Przypisywanie.
            this.notificator = notificator;
            this.log         = log;
            standardEditor   = Graphic = new Graphic(projectForThisGraphics, pcbWorkSpace.CreateGraphics(), log);
            toolbox          = toolboxForThisEditor;
            Project          = projectForThisGraphics;
            Type             = type;

            // Tworzenie Menu Głównego.
            MainMenu mainMenu     = new MainMenu();
            MenuItem fileItem     = new MenuItem("Plik");
            MenuItem newItem      = new MenuItem("Nowy", newItem_Click);
            MenuItem saveItem     = new MenuItem("Zapisz", saveItem_Click);
            MenuItem graphicItem  = new MenuItem("Grafika");
            MenuItem addImageItem = new MenuItem("Dodaj zdjęcie", addImageItem_Click);

            mainMenu.MenuItems.Add(fileItem);
            fileItem.MenuItems.Add(newItem);
            fileItem.MenuItems.Add(saveItem);
            mainMenu.MenuItems.Add(graphicItem);
            graphicItem.MenuItems.Add(addImageItem);
            Menu = mainMenu;

            // Instrukcje dla PixelArt'ów.
            if (type == GraphicTypes.PixelArt)
            {
                SetWorkSpaceSize(new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height));
                sizeOfPixelArt = (int)plusParams[0];
                DrawLinesForPixelArt();
            }
        }
示例#5
0
        public PixelArtEditor(int pixels, IPixelArtToolbox toolbox, IProject project, ILog log, INotificator notificator)
        {
            // Wywalanie wyjątków.
            if (log == null && notificator == null)
            {
                throw new NullReferenceException("log i notificator są puste");
            }
            else if (log == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("log nie może być pusty.", true));
                notificator.Notify(error);
                throw error;
            }
            else if (notificator == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("notificator nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }
            else if (toolbox == null)
            {
                Exception error = new NullReferenceException(Factory.GetProgrammerErrorString("toolbox nie może być pusty.", true));
                log.Write(error.Message);
                throw error;
            }

            // Inicjalizacja komponentów.
            InitializeComponent();

            // Przypisywanie.
            pixelsValue      = pixels;
            this.toolbox     = toolbox;
            this.notificator = notificator;
            this.project     = project;
            this.log         = log;
            this.pixels      = new PictureBox[pixelsValue, pixelsValue];

            // Tworzenie menu.
            MainMenu menu = new MainMenu();

            Menu = menu;
            MenuItem miFile = new MenuItem("Plik");

            miFile.MenuItems.Add(new MenuItem("Nowy", miNew_Click));
            miFile.MenuItems.Add(new MenuItem("Zapisz", miSave_Click));
            miFile.MenuItems.Add(new MenuItem("Wczytaj", miLoad_Click));
            MenuItem miSettings = new MenuItem("Ustawienia", miSettings_Click);

            miSettings.MenuItems.Add(new MenuItem("Blokuj Rozmiar Siatki", miBlockNetSize_Click));
            Menu.MenuItems.Add(miFile);
            Menu.MenuItems.Add(miSettings);

            Reload();
        }
示例#6
0
        /// <summary>
        /// Ustawia layout dla typu.
        /// </summary>
        /// <param name="t">Typ.</param>
        public void SetLayout(Tools t)
        {
            switch (t)
            {
            case Tools.DrawLine:
                ShowDrawLine(true);
                log.Write("Obecny layout dla ToolboxForma to DrawLine.", LogMessagesTypes.Detail);
                break;

            default:
                ShowDrawLine(false);
                log.Write("Obecny layout dla ToolboxForma jest nieznany.", LogMessagesTypes.Detail);
                notificator.Notify(new Exception(Factory.GetProgrammerErrorString("Nie rozpoznano layouta w ToolboxForm.", false)));
                break;
            }
            void ShowDrawLine(bool show)
            {
                lblPenSize.Visible = show;
                nudPenSize.Visible = show;
            }
        }
示例#7
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            log.Write("Tworznie nowej grafiki.", LogMessagesTypes.Important);
            switch (type)
            {
            case GraphicTypes.Empty:
            {
                int height = 0;
                int width  = 0;
                if (!int.TryParse(txtWidth.Text, out width) || !int.TryParse(txtHeight.Text, out height))
                {
                    notificator.Notify((new Exception("Wymagane jest podanie liczb w polu na szerkość i wysokość.").Message));
                    log.Write("USER ERROR: Użytkownik nie podał w szerokości i wyskokości liczb tylko tekst.", LogMessagesTypes.Important);
                    return;
                }
                if (width == 21 && height == 37)
                {
                    notificator.Notify("no i ja się pytam człowieku dumny ty jesteś z siebie zdajesz sobie sprawę z tego co robisz?masz ty wogóle rozum i godnośc człowieka?ja nie wiem ale żałosny typek z ciebie ,chyba nie pomyślałes nawet co robisz i kogo obrażasz ,możesz sobie obrażac tych co na to zasłużyli sobie ale nie naszego papieża polaka naszego rodaka wielką osobę ,i tak wyjątkowa i ważną bo to nie jest ktoś tam taki sobie że możesz go sobie wyśmiać bo tak ci się podoba nie wiem w jakiej ty się wychowałes rodzinie ale chyba ty nie wiem nie rozumiesz co to jest wiara .jeśli myslisz że jestes wspaniały to jestes zwykłym czubkiem którego ktoś nie odizolował jeszcze od społeczeństwa ,nie wiem co w tym jest takie śmieszne ale czepcie się stalina albo hitlera albo innych zwyrodnialców a nie czepiacie się takiej świętej osoby jak papież jan paweł 2 .jak można wogóle publicznie zamieszczac takie zdięcia na forach internetowych?ja się pytam kto powinien za to odpowiedziec bo chyba widac że do koscioła nie chodzi jak jestes nie wiem ateistą albo wierzysz w jakies sekty czy wogóle jestes może ty sługą szatana a nie będziesz z papieża robił takiego ,to ty chyba jestes jakis nie wiem co sie jarasz pomiotami szatana .wez pomyśl sobie ile papież zrobił ,on był kimś a ty kim jestes żeby z niego sobie robić kpiny co? kto dał ci prawo obrażac wogóle papieża naszego ?pomyślałes wogóle nad tym że to nie jest osoba taka sobie że ją wyśmieje i mnie będa wszyscy chwalic? wez dziecko naprawdę jestes jakis psycholek bo w przeciwieństwie do ciebie to papież jest autorytetem dla mnie a ty to nie wiem czyim możesz być autorytetem chyba takich samych jakiś głupków jak ty którzy nie wiedza co to kosciół i religia ,widac że się nie modlisz i nie chodzisz na religie do szkoły ,widac nie szanujesz religii to nie wiem jak chcesz to sobie wez swoje zdięcie wstaw ciekawe czy byś sie odważył .naprawdę wezta się dzieci zastanówcie co wy roicie bo nie macie widac pojęcia o tym kim był papież jan paweł2 jak nie jestescie w pełni rozwinięte umysłowo to się nie zabierajcie za taką osobę jak ojciec swięty bo to świadczy o tym że nie macie chyba w domu krzyża ani jednego obraza świętego nie chodzi tutaj o kosciół mnie ale wogóle ogólnie o zasady wiary żeby mieć jakąs godnosc bo papież nikogo nie obrażał a ty za co go obrażasz co? no powiedz za co obrażasz taką osobę jak ojciec święty ?brak mnie słów ale jakbyś miał pojęcie chociaz i sięgnął po pismo święte i poczytał sobie to może byś się odmienił .nie wiem idz do kościoła bo widac już dawno szatan jest w tobie człowieku ,nie lubisz kościoła to chociaż siedz cicho i nie obrażaj innych ludzi");
                    log.Write("Pasta została wyświetlona xd.", LogMessagesTypes.Important);
                }
                notificator.Notify("Ten tryb nie jest dostępny w tej wersji.", "Error");
                return;

                log.Write("Tworzenie nowej grafki o typie Empty.", LogMessagesTypes.Important);
                FormsManager.ShowGraphicsEditor(new Size(width, height), project, GraphicTypes.Empty, null);
                //notificator.Notify("Wybacz ale ten tryb grafiki jest niedostępny w tej wersji programu.");
            }
            break;

            case GraphicTypes.Image:
            {
                notificator.Notify("Ten tryb nie jest dostępny w tej wersji.", "Error");
                return;

                log.Write("Tworzenie nowej grafki o typie Image.", LogMessagesTypes.Important);
                if (imgForImgTypeProject == null)
                {
                    notificator.Notify(new Exception("Wymagane jest wybranie zdjęcia.").Message);
                    log.Write("USER ERROR: Użytkownik nie wybrał zdjęcia.", LogMessagesTypes.Important);
                    return;
                }
                GraphicsEditor editor = FormsManager.ShowGraphicsEditor(imgForImgTypeProject.Size, project, GraphicTypes.Image, null);
                editor.Graphic.DrawImage(imgForImgTypeProject, 0, 0);
                //notificator.Notify("Wybacz ale ten tryb grafiki jest niedostępny w tej wersji programu.");
            }
            break;

            case GraphicTypes.PixelArt:
            {
                FormsManager.ShowPixelArtEditor(sizeOfPixelArt, (int)nudSizePerPixel.Value, project);
            }
            break;
            }
            Close();
        }
示例#8
0
        public async Task <Token> GetTokenAsync(TokenRequest tokenRequest, string issuer, string[] audiences,
                                                double accessTokenExpirationInMinutes, double refreshTokenExpirationInMinutes)
        {
            try
            {
                switch (tokenRequest.grant_type)
                {
                case "password":
                    return(await GenerateToken(tokenRequest, issuer, audiences, accessTokenExpirationInMinutes, refreshTokenExpirationInMinutes));

                case "refresh_token":
                    return(await GenerateRefreshToken(tokenRequest.refresh_token, issuer, audiences, accessTokenExpirationInMinutes,
                                                      refreshTokenExpirationInMinutes));

                default:
                    _notifications.Notify(new Notification(NotificationType.Fail, "Invalid grant type."));
                    return(null);
                }
            }
            catch (Exception exception)
            {
                //TODO log
                _notifications.Notify(new Notification(exception));
                return(null);
            }
        }
示例#9
0
        private void btnLoadGraphic_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog();

            //dialog.Filter = "Program Graficzny Piksel Art (*.pgpa) |.pgpa";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                if (dialog.FileName.EndsWith(".pgpa"))
                {
                    FormsManager.ShowPixelArtEditor(32, 50, null).LoadFile(dialog.FileName);
                }
                else
                {
                    notificator.Notify((new Exception("Plik z którego próbujesz wczytać grafikę ma nieprawidołowy format. Dostępne formaty to .pgpa")));
                }
            }
        }
示例#10
0
 private void addImageItem_Click(object sender, EventArgs e)
 {
     log.Write("Użytkownik chce dodać obraz do grafiki.");
     if (Type == GraphicTypes.Empty || Type == GraphicTypes.Image)
     {
         OpenFileDialog o = new OpenFileDialog();
         if (o.ShowDialog() == DialogResult.OK)
         {
             log.Write($"Nowy obraz został dodany z ({o.FileName}).");
             Graphic.DrawImage(Image.FromFile(o.FileName), 0, 0);
         }
     }
     else
     {
         notificator.Notify((new Exception("Wklejanie zdjęć nie jest dostępne w trybie PixelArt.")).Message);
     }
 }
示例#11
0
 protected async Task Notify(Exception exception)
 {
     await _notifications.Notify(new Notification(exception));
 }
示例#12
0
 protected void Notify(Exception exception)
 {
     _notifications.Notify(new Notification(exception));
 }