示例#1
0
 private void mnuRadtyper_Click( object sender, System.EventArgs e )
 {
     if ( _siffraSelected!=null )
     {
         if ( sender==mnuRadtyper[mnuRadtyper.Length-1] )
             _siffraSelected.NyradText = null;
         else
             _siffraSelected.NyradText = ((MenuItem)sender).Text;
         picNames.Invalidate();
         picFoto.Invalidate();
         resize( ClientSize );
         _siffraSelected = null;
     }
 }
示例#2
0
        private void picFoto_MouseDown(object sender, MouseEventArgs e)
        {
            if (_grupp == null || SelectedThumbnailKey == null)
                return;

            if (_grupp.Numrering == GruppNumrering.Klar)
                return;

            if (SelectedThumbnailKey.Equals(_grupp.ThumbnailGrayKey))
            {
                Global.showMsgBox( this, "Detta är gråkortet! Numrera inte det är du snäll!" );
                return;
            }

            if ( _fHideCircles )
            {
                _fHideCircles = false;
                picFoto.Invalidate();
            }

            _siffraSelected = _grupp.Siffror.hitTest( e.X, e.Y, picFoto.ClientRectangle, out _fDraggingCircle );
            if ( e.Button==MouseButtons.Left && _siffraSelected==null )
            {
                switch ( _grupp.Numrering ) //vänsterklick på tom yta
                {
                    case GruppNumrering.Utplacering:
                    case GruppNumrering.Namnsättning:
                    case GruppNumrering.Klar:
                        var siffra = _grupp.Siffror.Add( e.X, e.Y, picFoto.ClientRectangle );
                        if ( siffra.NyradText!=null )
                        {
                            int nRader = _grupp.Siffror.räknaRader()-1;
                            int nNyttIndex = 11;
                            switch ( nRader )
                            {
                                case 0: case 1: case 2: case 3:
                                    for ( int i=0 ; i<nRader ; i++ )
                                    {
                                        var siffraTest =  _grupp.Siffror.hämtaNyrad(i);
                                        if ( string.Compare( siffraTest.NyradText, _strRadtyper[_aRadTyperDefault[nRader-1][i] ] ) == 0 )
                                            siffraTest.NyradText = _strRadtyper[_aRadTyperDefault[nRader][i]];
                                    }
                                    nNyttIndex = _aRadTyperDefault[nRader][nRader];
                                    break;
                                case 4:
                                    Global.showMsgBox( this, "Kom ihåg att kontrollera radbeteckningarna!!!" );
                                    break;
                            }
                            siffra.NyradText = _strRadtyper[nNyttIndex];
                            resize( this.ClientSize );
                        }
                        break;
                }
                if ( _grupp.PersonerNärvarande.Count==_grupp.Siffror.Count )
                {
                    _grupp.Numrering = GruppNumrering.Namnsättning;
                    _grupp.AktivSiffraNästa();
                }
                paintStatusLight( null );
                picNames.Invalidate();
                picFoto.Invalidate();
                resize( this.ClientSize );
            }
            else if ( e.Button==MouseButtons.Left && _siffraSelected!=null )
            {
                //vänsterklick på siffra
                if ( _grupp.Numrering==GruppNumrering.Namnsättning )
                {
                    _grupp.AktivSiffra = _siffraSelected;
                    picFoto.Invalidate();
                }
                else
                    selectPerson( _siffraSelected.Person );
            }
            else if ( e.Button==MouseButtons.Right && _siffraSelected==null )
            {
                //högerklick på tom yta
                mnuFoto2.Show( picFoto, new Point(e.X, e.Y) );
            }
            else if ( e.Button==MouseButtons.Right && _siffraSelected!=null )
            {
                //högerklick på siffra
                //mnuFotoInfoga.Enabled = _grupp.Siffror.Count < _grupp.Personer.Count;
                mnuFotoRadera.Text = "Radera " + _siffraSelected.Etikett;
                mnuFoto.Show( picFoto, new Point(e.X, e.Y) );
            }
        }