예제 #1
0
		public BaseFormulário()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();

			baseAtual = baseInferior;

            if (Screen.PrimaryScreen.Bounds.Width <= 800)
            {
                FormBorderStyle = FormBorderStyle.None;
                WindowState = FormWindowState.Maximized;
            }
		}
예제 #2
0
        /// <summary>
        /// Ocorre ao exibir a base inferior.
        /// </summary>
        /// <param name="baseInferior"></param>
        public void AoExibir(BaseInferior baseInferior)
        {
            //Visible = true;

            //opçãoVoltar.Visible = (baseInferior.baseAnterior != null);
            //opçãoAvançar.Visible = false;

            //AoMudarVisibilidade();

            Visible = (baseInferior.baseAnterior != null
                && baseInferior.baseAnterior != baseInferior);

            if (exibindoAnteriomente != Visible)
                ReajustarBarraEsquerda();

            exibindoAnteriomente = Visible;
        }
		/// <summary>
		/// Ocorre ao inserir uma base inferior.
		/// </summary>
		/// <param name="baseInferior">Base inferior inserida.</param>
		protected virtual void AoInserirBaseInferior(BaseInferior baseInferior)
		{
		}
		/// <summary>
		/// Substitui base inferior atual por outra.
		/// </summary>
		/// <param name="novaBase">Nova base inferior a ser exibida pelo formulário.</param>
		protected virtual void MostrarBaseFormulário(BaseInferior novaBase)
		{
			Formulário.SubstituirBase(novaBase, this);
		}
		/// <summary>
		/// Exibe base atual.
		/// </summary>
		/// <remarks>Este método é chamado ao clicar no botão da base superior.</remarks>
		public virtual void Exibir()
		{
			if (basesInferiores.Count == 0)
				throw new Exception("Não há nenhuma base inferior associada a este botão");

			if (baseAtual == null)
				baseAtual = basesInferiores[0];

			if (retornarÀPrimeira || Exibindo)
				SubstituirBaseAtual(basesInferiores[0]);

			Formulário.SubstituirBase(baseAtual, this);
		}
예제 #6
0
        /// <summary>
        /// Ocorre ao exibir a base ifnerior em que está inserido
        /// este controle.
        /// </summary>
        public void AoExibir(BaseInferior baseInferior)
        {
            SinalizaçãoCarga.Sinalizar(lst, "Carregando dados...", "Aguarde enquanto os dados sobre os álbuns são carregados do banco de dados.");

            bgRecuperação.RunWorkerAsync();
        }
		/// <summary>
		/// Substitui base inferior atual por outra, sem substituir
		/// no formulário.
		/// </summary>
		/// <param name="novaBase">Nova base inferior definida como atual.</param>
		protected void SubstituirBaseAtual(BaseInferior novaBase)
		{
            BaseInferior anterior = baseAtual;

            // Verificar se estamos retornando
            if (baseAtual != null && novaBase == baseAtual.baseAnterior)
            {
                basesPosteriores.Add(baseAtual);
            }
            else // se não estamos retornando
            {
                /* Se a nova base inferior é temporária, deve-se
                 * manter as bases anteriores até que uma nova base
                 * inferior permanente seja exibida. Somente neste
                 * caso as bases inferiores anteriores e temporárias
                 * serão liberadas.
                 */
                if (basesInferiores.Contains(novaBase))
                {
                    if (novaBase != basesInferiores[0])
                        novaBase.baseAnterior = baseAtual;

                    while (baseAtual != null && !basesInferiores.Contains(baseAtual))
                    {
                        novaBase.baseAnterior = baseAtual.baseAnterior;
                        baseAtual.Dispose();
                        baseAtual = novaBase.baseAnterior;
                    }
                }
                else
                    novaBase.baseAnterior = baseAtual;

                LimparBasesPosteriores();
            }

			baseAtual = novaBase;

            if (AoSubstituirBase != null)
                AoSubstituirBase(this, anterior, baseAtual);
		}
예제 #8
0
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BaseFormulário));
            this.topo = new System.Windows.Forms.Panel();
            this.barraBotões = new Apresentação.Formulários.BarraBotões();
            this.conteúdo = new System.Windows.Forms.Panel();
            this.baseInferior = new Apresentação.Formulários.BaseInferior();
            this.topo.SuspendLayout();
            this.conteúdo.SuspendLayout();
            this.SuspendLayout();
            // 
            // topo
            // 
            this.topo.BackColor = System.Drawing.Color.Transparent;
            this.topo.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("topo.BackgroundImage")));
            this.topo.Controls.Add(this.barraBotões);
            this.topo.Dock = System.Windows.Forms.DockStyle.Top;
            this.topo.Location = new System.Drawing.Point(0, 0);
            this.topo.Name = "topo";
            this.topo.Size = new System.Drawing.Size(1200, 93);
            this.topo.TabIndex = 2;
            // 
            // barraBotões
            // 
            this.barraBotões.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.barraBotões.BackColor = System.Drawing.Color.Transparent;
            this.barraBotões.Botões = new Apresentação.Formulários.Botão[0];
            this.barraBotões.Cursor = System.Windows.Forms.Cursors.Hand;
            this.barraBotões.Location = new System.Drawing.Point(188, 0);
            this.barraBotões.Name = "barraBotões";
            this.barraBotões.Size = new System.Drawing.Size(1012, 75);
            this.barraBotões.TabIndex = 0;
            // 
            // conteúdo
            // 
            this.conteúdo.Controls.Add(this.baseInferior);
            this.conteúdo.Dock = System.Windows.Forms.DockStyle.Fill;
            this.conteúdo.Location = new System.Drawing.Point(0, 93);
            this.conteúdo.Name = "conteúdo";
            this.conteúdo.Size = new System.Drawing.Size(1200, 490);
            this.conteúdo.TabIndex = 3;
            // 
            // baseInferior
            // 
            this.baseInferior.BackColor = System.Drawing.Color.White;
            this.baseInferior.Dock = System.Windows.Forms.DockStyle.Fill;
            this.baseInferior.Location = new System.Drawing.Point(0, 0);
            this.baseInferior.Name = "baseInferior";
            this.baseInferior.Size = new System.Drawing.Size(1200, 490);
            this.baseInferior.TabIndex = 4;
            // 
            // BaseFormulário
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            this.ClientSize = new System.Drawing.Size(1200, 583);
            this.Controls.Add(this.conteúdo);
            this.Controls.Add(this.topo);
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.MinimumSize = new System.Drawing.Size(640, 480);
            this.Name = "BaseFormulário";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "Indústria Mineira de Joias";
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
            this.topo.ResumeLayout(false);
            this.conteúdo.ResumeLayout(false);
            this.ResumeLayout(false);

		}
예제 #9
0
		/// <summary>
		/// Prepara base para ser utilizada
		/// </summary>
		/// <param name="b">Base inferior a ser utilizada.</param>
		protected internal void NovaBase(BaseInferior b)
		{
			b.BackColor = baseInferior.BackColor;
			b.Dock = DockStyle.Fill;
			b.Name = "baseInferior";
			b.Location = new System.Drawing.Point(0, 93);
			b.Size = new System.Drawing.Size(792, 413);
			b.TabIndex = 2;
		}
		/// <summary>
		/// Insere base inferior.
		/// </summary>
		/// <param name="baseInferior">Base inferior a ser exibida.</param>
		public void InserirBaseInferior(BaseInferior baseInferior)
		{
            if (PermissãoFuncionário.ValidarPermissão(baseInferior.Privilégio))
            {
                components.Add(baseInferior);
                basesInferiores.Add(baseInferior);

                baseInferior.DefinirControlador(this);

                Formulário.NovaBase(baseInferior);

                AoInserirBaseInferior(baseInferior);
            }
		}
 /// <summary>
 /// Remove base inferior.
 /// </summary>
 /// <param name="baseInferior"></param>
 public void RemoverBaseInferior(BaseInferior baseInferior)
 {
     components.Remove(baseInferior);
     basesInferiores.Remove(baseInferior);
 }
예제 #12
0
 /// <summary>
 /// Ocorre ao ser substituído por nova base.
 /// </summary>
 /// <param name="novaBase">Base que o substituiu.</param>
 protected virtual void AoSerSubstituído(BaseInferior novaBase)
 {
 }
예제 #13
0
 /// <summary>
 /// Método utilizado pelo formulário base.
 /// </summary>
 internal void DispararAoSerSubstituido(BaseInferior novaBase)
 {
     AoSerSubstituído(novaBase);
 }
예제 #14
0
		/// <summary>
		/// Substitui base inferior atual por uma temporária.
        /// Assim que for novamente substituída, a base será desalocada.
		/// </summary>
		/// <param name="novaBase">Nova base inferior a ser exibida pelo formulário</param>
		public void SubstituirBase(BaseInferior novaBase)
		{
			controlador.SubstituirBase(novaBase, this);
		}
 public void AoExibir(BaseInferior baseInferior)
 {
     Recarregar(acerto);
 }
예제 #16
0
		/// <summary>
		/// Adiciona base inferior a ser exibida.
		/// </summary>
		/// <param name="baseInferior">Base inferior a ser exibida.</param>
		public void AdicionarBaseInferior(BaseInferior baseInferior)
		{
			Controlador.InserirBaseInferior(baseInferior);
		}
		/// <summary> 
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );

            if (basesInferiores != null)
                foreach (BaseInferior baseInferior in basesInferiores)
                    baseInferior.Dispose();

            if (basesPosteriores != null)
                foreach (BaseInferior baseInferior in basesPosteriores)
                    baseInferior.Dispose();

            baseAtual = null;
            baseFormulário = null;
            basesInferiores = null;
            basesPosteriores = null;
		}
		/// <summary>
		/// Substitui base inferior atual por outra.
		/// </summary>
		/// <param name="novaBase">Nova base inferior a ser exibida pelo formulário.</param>
		/// <param name="origem">Quem mandou substituir.</param>
		/// <remarks>Chamada pela base inferior.</remarks>
		internal void SubstituirBase(BaseInferior novaBase, BaseInferior origem)
		{
			if (origem != baseAtual)
				throw new Exception("Base de origem não pode substituir base, pois não é a base atual!");

			if (!basesInferiores.Contains(novaBase))
			{
                PermissãoFuncionário.AssegurarPermissão(novaBase.Privilégio);

                if (novaBase.DefinirControlador(this))
                {
                    Formulário.NovaBase(novaBase);
                    novaBase.AoCarregarCompletamente(null);
                }
			}

			SubstituirBaseAtual(novaBase);
			MostrarBaseFormulário(novaBase);
		}
        /// <summary>
        /// Ao ser substituído, atualiza o banco de dados. Caso a entidade
        /// não esteja cadastrada, remove do acerto.
        /// </summary>
        protected override void AoSerSubstituído(BaseInferior novaBase)
        {
            base.AoSerSubstituído(novaBase);

            RelacionamentoAcerto relacionamentoAcerto = Relacionamento as RelacionamentoAcerto;

            if (Relacionamento.Cadastrado)
                Relacionamento.Atualizar();
            else if (relacionamentoAcerto != null && relacionamentoAcerto.AcertoConsignado != null
                && relacionamentoAcerto.AcertoConsignado.Contém(Relacionamento))
                relacionamentoAcerto.AcertoConsignado.Remover(Relacionamento);
        }
예제 #20
0
 /// <summary>
 /// Ocorre ao exibir da primeira vez.
 /// </summary>
 public void AoExibirDaPrimeiraVez(BaseInferior baseInferior)
 {
 }
예제 #21
0
		/// <summary>
		/// Substitui base inferior por outra.
		/// </summary>
		protected internal void SubstituirBase(BaseInferior b, object sender)
		{
            UseWaitCursor = true;

            try
            {
                if (b == null)
                    b = baseInferior;

                // Dispara evento de substituição.
                if (AoSubstituirBaseInferior != null)
                {
                    bool cancelar;

                    AoSubstituirBaseInferior(sender, this, baseAtual, b, out cancelar);

                    if (cancelar)
                    {
                        Cursor.Current = Cursors.Default;
                        return;
                    }
                }

                // Verifica se controladora é a mesma
                if (b.Controlador != baseAtual.Controlador && baseAtual.Controlador != null)
                    baseAtual.Controlador.AoEsconder();

                this.SuspendLayout();
                conteúdo.SuspendLayout();

                // Preparar nova base inferior.
                b.SuspendLayout();
                b.Dock = DockStyle.None;
                b.Size = conteúdo.Size;
                b.Location = new System.Drawing.Point(0, 0);
                b.ResumeLayout();

                conteúdo.Controls.Clear();
                conteúdo.Controls.Add(b);

                conteúdo.ResumeLayout();
                this.ResumeLayout();

                b.Dock = DockStyle.Fill;

                baseAtual.DispararAoSerSubstituido(b);

                // Verifica se controladora é a mesma
                if (b.Controlador != baseAtual.Controlador && b.Controlador != null)
                    b.Controlador.AoExibir();

                baseAtual = b;

                b.DispararAoExibir();
            }
            finally
            {
                UseWaitCursor = false;
            }
		}
예제 #22
0
 protected override void MostrarBaseFormulário(BaseInferior novaBase)
 {
 }
		/// <summary>
		/// Auto-exibição de uma base inferior.
		/// </summary>
		/// <param name="novaBase">Base inferior que está se exibindo.</param>
		internal void AutoExibição(BaseInferior novaBase)
		{
			if (!permitirAutoExibição)
				throw new ApplicationException("Auto-exibição não é permitida para este controle.");

			if (!basesInferiores.Contains(novaBase))
				throw new ApplicationException("Auto-exibição de uma base que não está inserida no controlador.");

			SubstituirBaseAtual(novaBase);
			MostrarBaseFormulário(novaBase);

			if (!Exibindo)
				Exibir();
		}
예제 #24
0
 /// <summary>
 /// Ocorre ao exibir pela primeira vez a base inferior
 /// em que este controle está inserido.
 /// </summary>
 public void AoExibirDaPrimeiraVez(BaseInferior baseInferior)
 {
     // Nada aqui.
 }
        /// <summary>
        /// Substitui base inferior atual por outra, mesmo que esta
        /// não tenha nenhum vínculo com a base em exibição. O usuário
        /// é questionado se ele deseja que a base seja substituída.
        /// </summary>
        /// <param name="novaBase">Base inferior a ser exibida.</param>
        /// <param name="título">Título da base inferior.</param>
        /// <param name="descrição">Descrição da base inferior.</param>
        public void SubstituirBaseArbitrariamente(BaseInferior novaBase, string título, string descrição)
        {
            if (novaBase == baseAtual)
                return;

            using (QuestionarSubstituiçãoBI dlg = new QuestionarSubstituiçãoBI(título, descrição))
            {
                if (dlg.ShowDialog(baseFormulário) == System.Windows.Forms.DialogResult.OK)
                {
                    if (!basesInferiores.Contains(novaBase))
                    {
                        PermissãoFuncionário.AssegurarPermissão(novaBase.Privilégio);

                        novaBase.DefinirControlador(this);
                        Formulário.NovaBase(novaBase);
                        novaBase.AoCarregarCompletamente(null);
                    }

                    SubstituirBaseAtual(novaBase);
                    MostrarBaseFormulário(novaBase);
                }
            }
        }
예제 #26
0
 protected override void AoInserirBaseInferior(BaseInferior baseInferior)
 {
 }