|
@@ -17,6 +17,7 @@ import android.text.TextUtils;
|
|
|
import android.util.AttributeSet;
|
|
|
import android.widget.FrameLayout;
|
|
|
|
|
|
+import androidx.annotation.DrawableRes;
|
|
|
import androidx.annotation.NonNull;
|
|
|
import androidx.annotation.Nullable;
|
|
|
import androidx.appcompat.widget.AppCompatImageView;
|
|
@@ -31,6 +32,7 @@ import com.compdfkit.tools.annotation.pdfannotationbar.adapter.CPDFAnnotationToo
|
|
|
import com.compdfkit.tools.annotation.pdfannotationbar.bean.CAnnotToolBean;
|
|
|
import com.compdfkit.tools.annotation.pdfannotationbar.data.CAnnotationToolDatas;
|
|
|
import com.compdfkit.tools.common.interfaces.COnAnnotationChangeListener;
|
|
|
+import com.compdfkit.tools.common.utils.CLog;
|
|
|
import com.compdfkit.tools.common.utils.viewutils.CViewUtils;
|
|
|
import com.compdfkit.tools.common.views.pdfproperties.CAnnotationType;
|
|
|
import com.compdfkit.tools.common.views.pdfproperties.pdfstyle.CAnnotStyle;
|
|
@@ -42,6 +44,10 @@ import com.compdfkit.tools.common.views.pdfproperties.pdfstyle.manager.CStyleMan
|
|
|
import com.compdfkit.tools.common.views.pdfview.CPDFViewCtrl;
|
|
|
import com.compdfkit.ui.proxy.attach.IInkDrawCallback;
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
public class CAnnotationToolbar extends FrameLayout {
|
|
|
|
|
|
private RecyclerView rvAnnotationList;
|
|
@@ -52,7 +58,7 @@ public class CAnnotationToolbar extends FrameLayout {
|
|
|
|
|
|
private AppCompatImageView ivRedo;
|
|
|
|
|
|
- private CPDFAnnotationToolListAdapter toolListAdapter;
|
|
|
+ public CPDFAnnotationToolListAdapter toolListAdapter;
|
|
|
|
|
|
private CPDFViewCtrl pdfView;
|
|
|
|
|
@@ -272,4 +278,56 @@ public class CAnnotationToolbar extends FrameLayout {
|
|
|
public void setAnnotationChangeListener(COnAnnotationChangeListener annotationChangeListener) {
|
|
|
this.annotationChangeListener = annotationChangeListener;
|
|
|
}
|
|
|
+
|
|
|
+ public AppCompatImageView getSettingButton() {
|
|
|
+ return ivSetting;
|
|
|
+ }
|
|
|
+
|
|
|
+ public AppCompatImageView getRedoButton() {
|
|
|
+ return ivRedo;
|
|
|
+ }
|
|
|
+
|
|
|
+ public AppCompatImageView getUndoButton() {
|
|
|
+ return ivUndo;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setSettingImageResource(@DrawableRes int drawableRes){
|
|
|
+ ivSetting.setImageResource(drawableRes);
|
|
|
+ ivSetting.setImageTintList(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setRedoImageResource(@DrawableRes int drawableRes){
|
|
|
+ ivRedo.setImageResource(drawableRes);
|
|
|
+ ivRedo.setImageTintList(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setUndoImageResource(@DrawableRes int drawableRes){
|
|
|
+ ivUndo.setImageResource(drawableRes);
|
|
|
+ ivUndo.setImageTintList(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setAnnotationList(List<CAnnotToolBean> list){
|
|
|
+ toolListAdapter.setList(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setAnnotationList(CAnnotationType... types){
|
|
|
+ if (pdfView == null){
|
|
|
+ CLog.e("ComPDFKit_Tools", "CAnnotationToolbar.setAnnotationList(), pdfView cannot be null");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (toolListAdapter == null){
|
|
|
+ CLog.e("ComPDFKit_Tools", "CAnnotationToolbar.toolListAdapter, toolListAdapter cannot be null");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<CAnnotationType> typeList = Arrays.asList(types);
|
|
|
+ List<CAnnotToolBean> list = CAnnotationToolDatas.getAnnotationList(pdfView);
|
|
|
+ for (int i = list.size() - 1; i >= 0; i--) {
|
|
|
+ CAnnotToolBean bean = list.get(i);
|
|
|
+ if (!typeList.contains(bean.getType())) {
|
|
|
+ list.remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ toolListAdapter.setList(list);
|
|
|
+ }
|
|
|
+
|
|
|
}
|