示例#1
0
 private void ObservationCtrl_Load(object sender, EventArgs e)
 {
     if (!this.DesignMode)
     {
         lbNoteMarksList = new List <Label>()
         {
             lbNoteMarkA, lbNoteMarkB, lbNoteMarkC
         };
         ObservationClass cellData = SharedObjects.MyChart.ChartElements.ElementAt(_row).ElementAt(_col);
         PopulateObservationCtrl(cellData);
     }
 }
示例#2
0
 public void MakeChartToExport()
 {
     ChartElementsToExport = new List <List <ObservationClass> >();
     foreach (List <ObservationCtrl> observationCtrls in ChartElements)
     {
         List <ObservationClass> observationClassesRow = new List <ObservationClass>();
         foreach (ObservationCtrl ctrl in observationCtrls)
         {
             ObservationClass SingleCtrlToExport = new ObservationClass(ctrl);
             observationClassesRow.Add(SingleCtrlToExport);
         }
         ChartElementsToExport.Add(observationClassesRow);
     }
 }
示例#3
0
 void PopulateChart()
 {
     ChartElements = new List <List <ObservationClass> >();
     for (int i = 0; i < _rows; i++)
     {
         List <ObservationClass> obsRow = new List <ObservationClass>();
         for (int j = 0; j < _cols; j++)
         {
             ObservationClass obs = new ObservationClass();
             obs.row = i;
             obs.col = j;
             obsRow.Add(obs);
         }
         ChartElements.Add(obsRow);
     }
 }
示例#4
0
 private void btnPrevObservation_Click(object sender, EventArgs e)
 {
     //_currentObservationRow += row;
     _currentObservationColumn -= 1;
     if (_currentObservationColumn < 0)
     {
         _currentObservationColumn = 0;
         MessageBox.Show("Pierwsza obserwacja w wierszu!", "", MessageBoxButtons.OK, MessageBoxIcon.Stop);
     }
     else
     {
         _currentObservation = _myChart.ChartElements.ElementAt(_currentObservationRow)
             .ElementAt(_currentObservationColumn);
         PopulateFormFromChart();
     }
 }
示例#5
0
 private void btnNextObservation_Click(object sender, EventArgs e)
 {
     //_currentObservationRow += row;
     _currentObservationColumn += 1;
     int maxCol = _myChart.ChartElements.ElementAt(_currentObservationRow).Count;
     if (_currentObservationColumn >= maxCol)
     {
         _currentObservationColumn = maxCol - 1;
         MessageBox.Show("Ostatnia obserwacja w wierszu!", "", MessageBoxButtons.OK, MessageBoxIcon.Stop);
     }
     else
     {
         _currentObservation = _myChart.ChartElements.ElementAt(_currentObservationRow)
             .ElementAt(_currentObservationColumn);
         PopulateFormFromChart();
     }
 }
示例#6
0
        public void PopulateObservationCtrl(ObservationClass cellData)
        {
            //private bool _isNew;
            //ObservationClass cellData = SharedObjects.MyChart.ChartElements.
            //	ElementAt(row).
            //	ElementAt(col);

            //obrazek
            if (cellData.MarkerDescription != "")
            {
                pictureBoxMarker.BackgroundImage = SharedObjects.MarkerImagesList.
                                                   ElementAt(SharedObjects.MarkerDescriptionsList.IndexOf(cellData.MarkerDescription));
            }
            else
            {
                pictureBoxMarker.BackgroundImage = base.BackgroundImage;
            }

            //data
            if (cellData.Date > SharedObjects.NoDateTime)
            {
                labelDate.Text = cellData.Date.ToShortDateString().Substring(5);
            }
            else
            {
                labelDate.Text = "";
            }

            //literki
            labelLiterki.Text   = cellData.Literki;
            labelLiterkiCD.Text = cellData.LiterkiCD;

            //cyferki
            label3cyferki.Text = cellData.Cyferki + cellData.CyferkiCD;

            //ilerazy
            label2ilerazy.Text = cellData.IleRazy;

            //uwagi
            String str = "";

            foreach (String s in cellData.Uwagi)
            {
                if (s.Length > 0)
                {
                    str = str + s.Substring(0, 1).ToUpper() + " ";                     //pierwsze litery
                }
            }
            label1uwagi.Text = str.Trim();

            //notemarks
            str = "";
            int i = 0;

            foreach (String s in cellData.NotesContent)
            {
                Label lb          = lbNoteMarksList.ElementAt(i);
                bool  isImportant = cellData.IsNotesImportant.ElementAt(i);
                if (isImportant)
                {
                    lb.BackColor = Color.Red;
                }
                else
                {
                    lb.BackColor = base.BackColor;
                }
                if (s.Length > 0)
                {
                    str     = s.Substring(0, 1).ToUpper() + " ";                 //pierwsze litery
                    lb.Text = str;
                }
                else
                {
                    lb.Text = "";
                }
                i++;
            }
        }
示例#7
0
        private void otworzToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Stream         myStream        = null;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            //openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.Filter           = "NaproCard files (*.npr)|*.npr";
            openFileDialog1.FilterIndex      = 1;
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    if ((myStream = openFileDialog1.OpenFile()) != null)
                    {
                        using (StreamReader reader = new StreamReader(myStream, System.Text.Encoding.UTF8))
                        {
                            // Insert code to read the stream here.
                            while (!reader.EndOfStream)
                            {
                                String json = reader.ReadToEnd();
                                //SharedObjects.MyChart.ClearWholeChart();
                                List <List <ObservationClass> > importedChart = JsonConvert.DeserializeObject <List <List <ObservationClass> > >(json);
                                SharedObjects.NumRows = importedChart.Count;
                                SharedObjects.NumCols = importedChart.ElementAt(0).Count;
                                SharedObjects.MyChart = new CardChartClass(SharedObjects.NumRows, SharedObjects.NumCols);
                                _myChart = SharedObjects.MyChart;
                                _myChart.ChartElements = importedChart;
                            }
                            myStream.Close();

                            //okienko postepu
                            panelChart.Visible = false;
                            FileIOForm  frm         = new FileIOForm();
                            ProgressBar progressBar = frm.Controls.Find("progressBar", false).First() as ProgressBar;
                            Label       messaLabel  = frm.Controls.Find("labelMessage", false).First() as Label;
                            progressBar.Maximum = SharedObjects.NumRows * SharedObjects.NumCols;
                            progressBar.Value   = 0;
                            frm.Show();

                            MakeNewClearPanelChart();
                            foreach (Control ctrl in panelChart.Controls)
                            {
                                ObservationCtrl obsCtrl = ctrl as ObservationCtrl;
                                if (obsCtrl != null)
                                {
                                    ObservationClass cellData = _myChart.ChartElements.ElementAt(obsCtrl.Row).ElementAt(obsCtrl.Col);
                                    obsCtrl.PopulateObservationCtrl(cellData);
                                    progressBar.Value++;
                                }
                            }
                            messaLabel.Text = "Wczytano";
                            frm.Close();
                            panelChart.Visible = true;

                            _currentSavedPath     = Path.GetDirectoryName(openFileDialog1.FileName);
                            _currentSavedFileName = Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
                            this.Text             = _title + " - " + _currentSavedFileName;
                            //if (_currentSavedFileName != "")
                            //{
                            //    this.Text = _currentSavedFileName + " - " + _title;
                            //}
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.StackTrace);
                }
            }
        }
示例#8
0
        private void PopulateFormFromChart()
        {
            _myChart = SharedObjects.MyChart;
            _currentObservation = _myChart.ChartElements.ElementAt
                (_currentObservationRow).ElementAt
                (_currentObservationColumn);
            //_currentObservationRow i Col mam przekazane  w wywolaniu przez sender

            //markerImage
            foreach (MarkerCtrl marker in _markerCtrlsList)
            {
                if (marker.Tag.ToString() == _currentObservation.MarkerDescription)
                {
                    marker.Checked = true;
                }
                else marker.Checked = false;
            }

            //DATA
            if (_currentObservation.Date > SharedObjects.NoDateTime)
            {
                //data ok istnieje
                dateTimePickerDataObserwacji.Value = _currentObservation.Date;
                this.Text = "Obserwacja dla dnia " + _currentObservation.Date.ToShortDateString();
            }
            else //czyli nei ma daty
            {
                this.Text = "Nowa Obserwacja";
                if (_currentObservation.col > 0)
                {
                    //czyli nie jest pierwsza komorka w wierszu
                    int row = _currentObservationRow;
                    int col = _currentObservationColumn;
                    DateTime DateFromPrevCtrl = _myChart.ChartElements.ElementAt(row).ElementAt(col - 1).Date;
                    if (DateFromPrevCtrl != SharedObjects.NoDateTime)
                    {
                        //jest data poprawna w poprzedniej komorce
                        dateTimePickerDataObserwacji.Value = DateFromPrevCtrl.AddDays(1); //dodaj jeden dzien
                        this.Text = "Nowa obserwacja dla dnia " + DateFromPrevCtrl.AddDays(1).ToShortDateString();
                    }
                }
                else //nowa data nowa obserwacja
                {
                    dateTimePickerDataObserwacji.Value = DateTime.Today;
                    this.Text = "Nowa obserwacja dla dnia " + DateTime.Today.ToShortDateString();
                }
            }

            //literki
            foreach (Control ctrl in groupBoxLiterki.Controls)
            {
                RadioButton rb = ctrl as RadioButton;
                if (rb != null)
                {
                    if (rb.Text == _currentObservation.Literki)
                    {
                        rb.Checked = true;
                    }
                    else rb.Checked = false;
                }
            }
            foreach (Control ctrl in groupBoxLiterki.Controls)
            {
                CheckBox cb = ctrl as CheckBox;
                if (cb != null)
                {
                    if (cb.Text == _currentObservation.LiterkiCD)
                    {
                        cb.Checked = true;
                    }
                    else cb.Checked = false;
                }
            }

            //cyferki
            foreach (var v in groupBoxCyferki.Controls) //tutaj tak bo oporocz radiobox jest ten zolty panel
            {
                RadioButton rb = v as RadioButton;
                if (rb != null)
                {
                    if (rb.Text == _currentObservation.Cyferki)
                    {
                        rb.Checked = true;
                    }
                    else rb.Checked = false;
                }
            }

            //cyferkiCD
            foreach (RadioButton rb in groupBoxCyferkiCD.Controls)
            {
                if (rb != null)
                {
                    if (rb.Text == _currentObservation.CyferkiCD)
                    {
                        rb.Checked = true;
                    }
                    else rb.Checked = false;
                }
            }

            //IleRazy
            foreach (RadioButton rb in groupBoxIleRazy.Controls)
            {
                if (rb != null)
                {
                    if (rb.Text == _currentObservation.IleRazy)
                    {
                        rb.Checked = true;
                    }
                    else rb.Checked = false;
                }
            }

            //Uwagi
            foreach (CheckBox cb in _checkboxUwagiList)
            {
                int i = _checkboxUwagiList.IndexOf(cb);
                if (cb.Text.Substring(0, 1) == _currentObservation.Uwagi.ElementAt(i))
                {
                    cb.Checked = true;
                }
                else cb.Checked = false;
            }

            //noteMarks and notes
            foreach (RichTextBox rtb in _richtextNotesList)
            {
                int i = _richtextNotesList.IndexOf(rtb);
                bool isImportant = _currentObservation.IsNotesImportant.ElementAt(i);
                if (isImportant) _textboxNoteMarksList.ElementAt(i).BackColor = Color.Red;
                _checkboxNoteImportantMarksList.ElementAt(i).Checked = isImportant;
                rtb.Text = _currentObservation.NotesContent.ElementAt(i); //tresc
                if (rtb.Text.Length > 0)
                {
                    _textboxNoteMarksList.ElementAt(i).Text = rtb.Text.Substring(0, 1).ToUpper(); //pierwsze litery
                }
                else
                {
                    _textboxNoteMarksList.ElementAt(i).Text = "";
                }

            }

            //zdjecie
            _currentUserPicturesList = _currentObservation.UserPicturesFileInfoList;
            if (_currentUserPicturesList.Count > 0) //zaladuj pierwsze zdjecie jesli istnieje
            {
                _currentPictureIndex = 0;
                String path = _currentUserPicturesList.ElementAt(_currentPictureIndex);
                if (File.Exists(path))
                {
                    FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);
                    pictureBox1UserPicture.Image = Image.FromStream(stream);
                    stream.Close();
                }
            }
        }