Advertisement
marquessbr

vote-no-livro

Jun 17th, 2014
879
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.56 KB | None | 0 0
  1. import de.bezier.data.sql.*;
  2. import controlP5.*;
  3.  
  4. class Livro {
  5.   String id;
  6.   String Title;
  7.   String Autor;
  8.   String Resenha;
  9.   PImage Capa;
  10.   int Curtidas;
  11.   int posX;
  12.  
  13.   Livro(String Id,
  14.          String title,
  15.          String autor,
  16.          String resenha,
  17.          PImage capa,
  18.          int curtidas,
  19.          int x) {
  20.     id = Id;
  21.     Title = title;
  22.     Autor = autor;
  23.     Resenha = resenha;
  24.     Capa = capa;
  25.     Curtidas = curtidas;
  26.     posX = x;
  27.   }
  28.  
  29.   void update(int x){
  30.     posX = x;
  31.   }
  32.    
  33.   void display(){
  34.     text(id, 20, posX);
  35.     text(Title, 40, posX);
  36.     text(Autor, 180, posX);
  37.     text(Resenha, 320, posX - 10, 350, 120);
  38.     image(Capa, 700, posX - 10, 120, 120);
  39.     text(Curtidas, 840, posX);
  40.     if (Curtidas == 0)
  41.        image(btnct, 700, posX+120,75,25);
  42.   }
  43. }
  44.  
  45. SQLite db;
  46.  
  47. String qry = "";
  48. PImage btnct, btnol;
  49. String[] PLivros = {
  50.  "INSERT INTO livros (id, titulo, autor, resenha, capa, curtidas) VALUES (01, 'A Origem Da Tragédia', 'Friedrich Nietzsche', 'Este livro é mais um estudo sobre a decadência de um gênero teatral do que propriamente uma Investigação histórica ou uma incursão mítica na esfera da vida sobrenatural. Representa, em primeiro lugar, uma homenagem a Richard Wagner, uma interpretação dos seus dramas musicais como obras de arte totais que igualam às tragédias antigas.', 'data/aorigemdatragedia.jpg','0')",
  51.  "INSERT INTO livros (id, titulo, autor, resenha, capa, curtidas) VALUES (02, 'A Onda', 'Susan Casey', 'Surfe, adrenalina e teorias científicas avançadas são os ingredientes de A Onda, que investiga um dos fenômenos naturais mais impressionantes. Numa narrativa de tirar o fôlego, a jornalista Susan Casey acompanha surfistas radicais, cientistas de ponta e marinheiros pelos trechos mais temíveis do oceano em busca de ondas gigantes, e em seu relato sentimos toda a emoção de ver de perto verdadeiros monstros aquáticos. A autora mostra, ainda, a indústria em torno do surfe, que movimenta milhões de dólares em patrocínio e permite que muitos atletas se dediquem a levar o esporte a suas máximas possibilidades – mas que também expõe dezenas de amadores aos perigos do oceano.', 'data/aonda.jpg','1')",
  52.  "INSERT INTO livros (id, titulo, autor, resenha, capa, curtidas) VALUES (03, 'Reparação', 'Ian McEwan', 'Na tarde mais quente do verão de 1935, na Inglaterra, a adolescente Briony Tallis vê uma cena que vai atormentar a sua imaginação: sua irmã mais velha, sob o olhar de um amigo de infância, tira a roupa e mergulha, apenas de calcinha e sutiã, na fonte do quintal da casa de campo. A partir desse episódio e de uma sucessão de equívocos, a menina, que nutre a ambição de ser escritora, contrói uma história fantasiosa sobre uma cena que presencia. Comete um crime com efeitos devastadores na vida de toda a família e passa o resto de sua existência tentando desfazer o mal que causou.', 'data/reparacao.jpg','0')",
  53.  "INSERT INTO livros (id, titulo, autor, resenha, capa, curtidas) VALUES (04, 'A Tregua', 'Mario Benedetti', 'Prestes a completar 50 anos, viúvo há mais de vinte, Santomé mora com os três filhos. Não se relaciona bem com nenhum deles, tem poucos amigos e mantém uma rotina monótona e cinzenta. No diário, conta os dias que faltam para a aposentadoria; mas não tem idéia do que fará assim que se livrar do trabalho maçante. Seu destino, no entanto, mudará quando conhecer Laura Avellaneda, uma jovem discreta e tímida contratada para ser sua subalterna. Com ela, Martín Santomé voltará a conhecer o amor, numa luminosa trégua para uma vida até então triste e opaca.', 'data/atregua.jpg','0')",
  54.  "INSERT INTO livros (id, titulo, autor, resenha, capa, curtidas) VALUES (05, 'Memórias de uma Gueixa', 'Artur Golden', 'Seu relato tem início numa vila pobre de pescadores, em 1929, onde a menina de nove anos é tirada de casa e vendida como escrava. Pouco a pouco, vamos acompanhar sua transformação pelas artes da dança e da música, do vestuário e da maquilagem; e a educação para detalhes como a maneira de servir saquê revelando apenas um ponto do lado interno do pulso – armas e mais armas para as batalhas pela atenção dos homens. Mas a Segunda Guerra Mundial força o fechamento das casas de gueixas e Sayuri vê-se forçada a se reinventar em outros termos, em outras paisagens. E ainda, como uma descrição minuciosa da alma de uma mulher já apresentada por um homem.', 'data/ana.jpg','0')"
  55. };
  56. Livro [] livros = new Livro[5];
  57. ControlP5 cp5;
  58.  
  59.  
  60. void setup()
  61. {
  62.     size( 900, 600 );
  63.     PFont font = createFont("CourierNewPS-BoldMT-18", 12);
  64.     fill(0100);
  65.     btnct = loadImage("btncurtir.png");
  66.     btnol = loadImage("btnctoliv.png");
  67.  
  68.     cp5 = new ControlP5(this);
  69.  
  70.     cp5.addTextfield("usuario")
  71.        .setPosition(20,10)
  72.        .setSize(120,25)
  73.        .setFont(font)
  74.        .setFocus(true)
  75.        .setColor(color(255,0,0));
  76.                  
  77.     cp5.addTextfield("senha")
  78.        .setPosition(160,10)
  79.        .setSize(120,25)
  80.        .setFont(font)
  81.        .setFocus(false)
  82.        .setPasswordMode(true)
  83.        .setColor(color(255,0,0));
  84.  
  85.     //db = new SQLite( this, "/home/armando/www/vote_no_livro/data/enquete.dbq" );  // open database file
  86.     db = new SQLite( this, ":memory:" );  // open database file
  87.     if ( db.connect() )
  88.     {
  89.         qry = "DROP TABLE IF EXISTS livros;";
  90.         db.query(qry);      
  91.         qry = "CREATE TABLE IF NOT EXISTS livros (id int, titulo text, autor text, resenha text, capa varchar(60), curtidas int);";
  92.         db.query(qry);
  93.         qry = "";
  94.         for (int i=0;i<PLivros.length;i++){
  95.             qry = PLivros[i] + ";";
  96.             db.query(qry);
  97.         }
  98.     }
  99.     textFont(font);
  100.     getlivro();
  101. }
  102.  
  103. void controlEvent(ControlEvent theEvent) {
  104.   if(theEvent.isAssignableFrom(Textfield.class)) {
  105.     println("controlEvent: accessing a string from controller '"
  106.             +theEvent.getName()+"': "
  107.             +theEvent.getStringValue()
  108.             );
  109.   }
  110. }
  111.  
  112.  
  113. public void usuario(String theText) {
  114.   // automatically receives results from controller input
  115.   println("a textfield event for controller 'input' : "+theText);
  116. }
  117.  
  118. public void senha(String theText) {
  119.   // automatically receives results from controller input
  120.   println("a textfield event for controller 'input' : "+theText);
  121. }
  122.  
  123. void getlivro(){
  124.   int x = 0;
  125.   int i = 0;
  126.   String r;
  127.   db.query( "SELECT * FROM livros" );
  128.   while (db.next())
  129.   {
  130.     if (i == 0) {x = 110;} else {x += 220;}
  131.     livros[i] = new Livro(str(db.getInt("id")),
  132.                           db.getString("titulo"),
  133.                           db.getString("autor"),
  134.                           db.getString("resenha"),
  135.                           loadImage(db.getString("capa")),
  136.                           db.getInt("curtidas"),
  137.                           x);
  138.     i += 1;
  139.   }
  140. }
  141.  
  142. String replicate(String c, int n){
  143.   String result = "";
  144.   for (int i = 0;i<n;i++){result += c;}
  145.   return result;
  146. }
  147.  
  148. boolean overBtn(int x, int y, int width, int height)  {
  149.   if (mouseX >= x && mouseX <= x+width &&
  150.       mouseY >= y && mouseY <= y+height) {
  151.     return true;
  152.   } else {
  153.     return false;
  154.   }
  155. }
  156.  
  157. void draw()
  158. {
  159.   int btnX = 0;
  160.   text("Título", 40, 80);
  161.   text("Autor", 180, 80);
  162.   text("Resenha", 320, 80);
  163.   text("Capa", 700, 80);
  164.   text("Curtidas", 840, 80);
  165.   text(replicate("-",220), 10, 90);
  166.   for (int i = 0; i < livros.length; i++){
  167.     if (i <= 1){
  168.       livros[i].display();
  169.       btnX =  livros[i].posX + 120;
  170.     }  
  171.   }
  172.   println(btnX);
  173.   image(btnol, 700, btnX,110,25);
  174.   //noLoop();
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement