Back to index

im-sdk  12.3.91
IIIMPreedit.cpp
Go to the documentation of this file.
00001 #include <qpainter.h>
00002 #include "IIIMText.hh"
00003 #include "IIIMPreedit.hh"
00004 
00005 void
00006 IIIMPreeditWidget::drawContents(
00007     QPainter *p
00008 )
00009 {
00010     int cpos;
00011     IIIMCF_text text;
00012     IIIMF_status st;
00013 
00014     if (!ctx) return;
00015     st = iiimcf_get_preedit_text(ctx, &text, &cpos);
00016     if (st != IIIMF_STATUS_SUCCESS) return;
00017     IIIMText imt(text);
00018     currentsize = imt.draw(p, this, contentsRect());
00019 
00020     adjustSize();
00021 }
00022 
00023 QSize
00024 IIIMPreeditWidget::sizeHint() const
00025 {
00026     return currentsize;
00027 }
00028 
00029 void
00030 IIIMPreeditWidget::update_im()
00031 {
00032     int cpos;
00033     IIIMF_status st;
00034     IIIMCF_text text;
00035 
00036     st = iiimcf_get_preedit_text(ctx, &text, &cpos);
00037     if (st == IIIMF_STATUS_SUCCESS) {
00038        show();
00039        repaint();
00040     } else {
00041        hide();
00042     }
00043 }
00044 
00045 IIIMPreeditWidget::IIIMPreeditWidget(
00046     IIIMCF_context x_ctx,
00047     QWidget *parent,
00048     const char *name,
00049     WFlags f
00050 ) : QFrame(parent, name, f)
00051 {
00052     ctx = x_ctx;
00053     setBackgroundMode(Qt::PaletteBase);
00054 }
00055 
00056 IIIMPreeditWidget::~IIIMPreeditWidget()
00057 {
00058 }
00059 
00060 /* Local Variables: */
00061 /* c-file-style: "iiim-project" */
00062 /* End: */