qt_widgets 0.1.3

Bindings for Qt5Widgets library
extern crate cpp_to_rust;
use cpp_to_rust::config::Config;
use cpp_to_rust::errors::{Result};

extern crate qt_build_tools;
use qt_build_tools::QtConfig;

fn setup() -> Result<()> {
  let mut config = Config::new();
  try!(config.setup_qt_library());
  config.exclude_qlist_eq_based_methods(&["QTableWidgetSelectionRange", "QTextEdit::ExtraSelection"]);
  config.add_cpp_ffi_generator_filter(Box::new(|method| {
    if let Some(ref info) = method.class_membership {
      match info.class_type.to_cpp_pseudo_code().as_ref() {
        "QQueue<QTableWidgetSelectionRange>" |
        "QQueue<QTextEdit::ExtraSelection>" => {
          match method.name.as_ref() {
            "operator==" | "operator!=" => return Ok(false),
            _ => {}
          }
        }
        _ => {}
      }
    }
    Ok(true)
  }));
  config.exec()
}

fn main() {
  if let Err(err) = setup() {
    err.display_report();
    std::process::exit(1);
  }
}