.11/11/2011
Modificações Core QCodo + QCMS: 10 e 11/2011
Postado por: Raphael Cangucu
CORE QCODO:
- Correção de erros na geração de código para tabelas customizadas
- Criação da classe QSiteMaps, para criação de sitemaps de site e projetos
- Melhorias nos players QJWPlayer 4 e 5 , adição de atributo AutoPlay
- Atualização do JwPlayer para a versão mais atual da 5
- Adição de novo skin NORDEN para QJWPlayer5
- Adição da classe ApiBase, que será a base de chamadas via WebService, construídos via QCodo
- Adições de novos ícones
- Melhoria na QUrlTextbox para aceitar endereços sem o http://
- Criação do QTabPanel, para abas com CSS para os temas correntes
QCMS:
- Criação da Classe SelectFile, que é similar ao SelectAlbumImage, mas para selecionar arquivos usando o CKFinder
- Criação das pastas data_meta_content e data_meta_site_area, para melhor organização dos Meta Object das tabelas content e site_area
- Limpeza na SeoForm, remoção de funções e códigos não utilizados
- Melhoria da tela de Conteúdo, divisão em Dados Básicos de Dados de SEO
- Diversas modificações de banco: vide pasta migrations
- Criação da Classe MetaType e adição dos tipos básicos de dados
- Criação da tela de lista e edição de audio no /admin
- Adaptação do install-php-ini.php para a versão 5.3 da dreamhost
- Correção de erros das telas de criação e lista de eventos
- Correção de erros das telas de criação e lista de vídeos
Atenciosamente,
Raphael Canguçu
.2/09/2011
Melhorias QCodificar – Google Chart
Postado por: Thiago Alberto
Conforme foi mencionado a aproximadamente 15 dias atrás, uma importante melhoria foi feita na classe de geração de gráficos chamada QGoogleChart .
Agora o controle permite a geração de gráficos dos seguintes tipos:
- Pizza
- Barra
- Coluna
- Área
- Dispersão
- Gauge (parece um velocímetro ou barômetro)
- Linha
O uso da classe é extremamente simples e várias classes do tipo enumeration foram criadas para facilitar as declarações. O gráfico está aliado a um dashboard que contem um filtro dinâmico de dados e botões para troca do tipo de gráfico. É importante estar atento a uma particularidade dos gráficos, alguns se ajustam melhor a dados com um eixo e outros com 2 eixos.
Seguem exemplos de uso:
// Gráfico com 2 eixos - Area, Linha, Barra e Coluna
$this->gccChart = new QGoogleChart($this);
$this->gccChart->Type = QChartType::Area;
$this->gccChart->Title = 'Balanço Empresarial';
$this->gccChart->Is3D = true;
$this->gccChart->BackgroundColor = '#f5f5f5';
$this->gccChart->SliceText = QSliceText::Value;
$this->gccChart->Legend = QLegendPosition::Right;
$this->gccChart->AddColumn(QChartColumnType::String, "Ano");
$this->gccChart->AddColumn(QChartColumnType::Number, "Vendas", true);
$this->gccChart->AddColumn(QChartColumnType::Number, "Despesas");
for ($i = 0; $i < 5; $i++)
$this->gccChart->AddRow(($i + 2005), rand(50, 100), rand(30, 80));
// Gráfico com 1 eixo - Pizza, Gauge e Dispersão
$this->gccChart2 = new QGoogleChart($this);
$this->gccChart2->Type = QChartType::Pie;
$this->gccChart2->Title = 'Distribuição de vendas';
$this->gccChart2->Is3D = true;
$this->gccChart2->BackgroundColor = '#f5f5f5';
$this->gccChart2->SliceText = QSliceText::Value;
$this->gccChart2->Legend = QLegendPosition::Right;
$this->gccChart2->AddColumn(QChartColumnType::String, "Carros");
$this->gccChart2->AddColumn(QChartColumnType::Number, "Vendidos");
$arrCars = array('Camaro', 'Dodge', 'Corvette', 'Ferrari', 'Mustang');
for ($i = 0; $i < 5; $i++)
$this->gccChart2->AddRow($arrCars[$i], rand(20, 50));
.31/08/2011
Melhorias QCodoficar – Gerador de Código
Postado por: Raphael Cangucu
Modificações liberadas no QCODO da Codificar em 31 de agosto de 2011:
Datagrid:
- Adição de função de formatação do campo na MetaAddColumn:
- declaração:
public function MetaAddColumn($mixContent, $strFunction = null , $objOverrideParameters = null) {…} - uso:
//irá adicionar a coluna 'Percent' e será formatada pela função de atalho para impressão de percentuais
$this->dtgValues->MetaAddColumn('Percent', '_pc');
//pode ser utilizado
- declaração:
- Adição da função MetaAddVirtualAttributeColumn: que permite a adição de colunas com atributos virtuais das queries geradas
- uso:
$this->dtgUserSituations->MetaAddVirtualAttributeColumn('AveragePercent', '_pc');
//já está compatível com a função de formatação
- uso:
- Implementação de novos filtros por intervalo na tela de pesquisa para campos inteiros e float's
- uso: basta usar o novo gerador, implementado em todos arquivos que participam do processo de pesquisa
- Divisão da função MetaDataBinder em MetaDataBinder, MetaBuildConditions e MetaBuildClauses, dividindo em três legíveis funções de acordo com cada etapa do processo de bind do DataGrid
Controles:
- Compatibilização do QDoubleMultipleListbox com o JQuery 1.6.2
- Modificação do QDialogBox para uso do Jquery UI Dialog Box ao invés do componente original do QCODO
- Disponibilização final, com teste do componente, QDateListBox no qual é possível selecionar intervalos de datas, como mês, semana, ultimo mes, ultima semana, este ano, ultimos 30 dias e períodos customizados
Geração de código:
- Criação do arquivos /core/assets/php/custom_codegen/php que permite a geração seletiva de tabelas e bancos de dados disponíveis na aplicação
- Modificação da maneira na qual é instanciada objetos nas funções de instanciamento de valores vindos do banco de dados, fazendo o carregamento estático e uso da técnica lazy load
Javascript:
- Modificação do core/js para aceitar carregamento de Javascripts Online em CDN's
- Substituição do Jquery 1.4.4 pelo 1.6.2
Acredito que por enquanto é isso…
Em breve mais novidades!!
.19/08/2011
Melhorias QCodoficar em 19 de Agosto
Postado por: Thiago Alberto
Modficações liberadas no framework da Codificar em 19 de Agosto de 2011:
- Criação do atributo $strOnlineJavaScripts para os controles (extensões do QControl):
- Agora é possível incluir não apenas scripts javascript locais (na pasta core ou na project), mas também arquivos .js externos na web, usando o protocolo http ou https. Como exemplo temos:
protected $strOnlineJavaScripts = 'http://www.google.com/jsapi' ou http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js - Em breve poderemos ter como padrão algumas bibliotecas apenas online, como o JQuery…
- Agora é possível incluir não apenas scripts javascript locais (na pasta core ou na project), mas também arquivos .js externos na web, usando o protocolo http ou https. Como exemplo temos:
- Criada a função QType::CastConstTo($mixValue, $strClassName), que verifica se a atribuição de uma variável é uma constante do tipo solicitado.
- Exemplo de uso na função _set :
case 'Legend' :
try {
$this->strLegendPosition = QType::CastConstTo($mixValue, "QLegendPosition");
break;
} catch (QInvalidCastException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
- Criado o atributo IsUnorderedListElement sendo falso por padrão no controle QRadioButtonList.
- Este controle sempre renderizava como formato de tabela e em alguns casos era necessário um html mais simples. Assim, se o atributo IsUnorderedListElement for setado como true, ao invés de tabela, será renderizada a estrutura ul li.
- O mesmo será feito para QCheckBoxList em breve…
- Exemplo:
$this->rblOptions = new QRadioButtonList($this);
$this->rblOptions->IsUnorderedListElement = true;
$this->rblOptions->CssClass = 'formList';
- Por fim, foi criada uma nova classe para geração de gráficos chamada QGoogleChart, que usa a nova API da Google para tal.
- Até o momento o controle só permite a criação de gráficos de pizza em 2D ou 3D, mas em breve também suportará gráficos de barras, linhas, colunas e outros…
- Exemplo de uso:
$this->gccChart = new QGoogleChart($this);
$this->gccChart->Title = 'Distribuição de votos';
$this->gccChart->Is3D = true;
$this->gccChart->BackgroundColor = '#f5f5f5';foreach (PollOption::LoadArrayByPollId($_ITEM->Id) as $objOption)
$this->gccChart->AddRow($objOption->Option, PollVote::CountByPollOptionId($objOption->Id));$this->gccChart->Render();



